Just do this: $string = str_replace("\n", "<br>", $string); $string = trim_text($string); $string = str_replace("<br>", "\n", $string); Actually <br> could be any sequence of non-whitespace characters unlikely to be in the text in the first place. On Fri, February 3, 2006 3:29 pm, Verdon Vaillancourt wrote: > Hi Richard, > > I quickly realized this and fooled with a few variations. Also have to > take into account that the <br> or the <br /> get counted as 1 or 2 > words respectively, and so the trim can end up in the wrong place. > I've > tried fiddling with counting the number of br's in the string and > adding that to the truncation limit before the preg_split, but this is > still not ideal. > > I'm going to have a look at your other suggestion too. > > Thanks for your thoughts :) > verdon > > On 3-Feb-06, at 4:21 PM, Richard Lynch wrote: > >> >> >> This would work if you replace the <br /> with <br> -- Otherwise, >> it's >> too likely to break up "<br />" in the trim_text function and then >> you >> end up with: >> >> "start of string ... almost 255 words, blah blah blah<br" >> >> On Fri, February 3, 2006 11:25 am, John Meyer wrote: >>> -----BEGIN PGP SIGNED MESSAGE----- >>> Hash: SHA1 >>> >>> Verdon Vaillancourt wrote: >>>> Hi :) >>>> >>>> I am using the following function (that I found in the user >>>> comments >>>> on >>>> php.net manual) for trimming the number of words accepted via a >>>> form >>>> field >>>> >>>> // Truncation is by word limit, not character limit. So if you >>>> limit >>>> // to 255, then it will cut off a text item to 255 words, not 255 >>>> characters >>>> function trim_text ($string, $truncation=250) { >>>> $string = preg_split("/\s+/",$string,($truncation+1)); >>>> unset($string[(sizeof($string)-1)]); >>>> return implode(' ',$string); >>>> } >>> >>> >>> How about >>> $string = nl2br($string); >>> $string = trim_text($string); >>> $string = str_replace("<br />","\n",$string); >>> -----BEGIN PGP SIGNATURE----- >>> Version: GnuPG v1.4.2 (GNU/Linux) >>> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org >>> >>> iD8DBQFD45Hzj60GAoLuoDkRAjSqAKCxvGlJmSCVHozWBDjjZnKMEZOfSwCfenVj >>> lRSChtsMRqRnOYdZpk5YQ0c= >>> =Dnly >>> -----END PGP SIGNATURE----- >>> >>> -- >>> PHP General Mailing List (http://www.php.net/) >>> To unsubscribe, visit: http://www.php.net/unsub.php >>> >>> >> >> >> -- >> Like Music? >> http://l-i-e.com/artists.htm >> >> >> >> > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php