Re: Trimming Text

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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".

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux