You are here: Re: Trimming Text « PHP « IT news, forums, messages
Re: Trimming Text

Posted by Al on 07/17/05 17:07

Al wrote:
> André Medeiros wrote:
>
>> Greetings.
>>
>> I am trying to trim some text containing HTML tags. What I want to do is
>> to trim the text without trimming the tags or html entities like  
>> and such, wich completelly break the design.
>>
>> Has anyone succeded on doing such a thing? phpclasses.org won't help :(
>>
>> Thanks in advance.
>> André
>
>
> Consider...
>
> Making a preg pattern to capture everything between tags and then use
> preg_replace_callback() process the "captured text" with the called
> function.
>
> It will work; but it's a bit tricky.
>
> Here is a similiar code snip to get you started...
>
> $pattern= "%<[\w-/]+>%";
>
> $text=
> preg_replace_callback($pattern,
> create_function('$matches', 'return strtolower($matches[0]);'), $text);
>
> This converts all tags to lowercase.
>
> You probably should use a regular callback function rather than creating
> one.


Here is a pattern that will get you close
$pattern= "%(<[\s\S]+?>)([\s\S]+?)(</[\s\S]+?>)%";

The first bracket will get your first tag; second bracket, your text; third, the end tag.

Try this...

$num= preg_match_all("$pattern", $your_string, $matches);

print_r($matches);

I didn't test this; but, you should see all your tags and text neatly in an array.

You can then use foreach($matches[x] $key=>$value) {

your code to trim, etc.

$new_array[$key}= $new_string;
}

From the print_r() you can see what "x should be. And, you'll need to reassemble your $new_array.

Finally, reconstruct your output string with another foreach()

The preg_replace_callback() will do all the foreach() stuff in one line. Your argument for the
callback function will be "x".

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация