Hello. Maybe this is the intended behavior, but wordwrap()'s behavior is a bit illogical on PHP 4.3.1, as it does only break after a plain whitespace, not after punctuation, \n, etc.
Here's a trivial sample : $a = "wwwwwwwwwwwwwwwwww\nphprules\nwwwwwwwwwwwwwwwww"; print wordwrap($a, 10, ' ', 10); Output : wwwwwwwwww wwwwwwww p hprules ww wwwwwwwwww wwwww The following trivial patch makes wordwrap() wrap after any non-alphanumeric charater. Output after application of that patch : wwwwwwwwww wwwwwwww phprules wwwwwwwwww wwwwwww Best regards, -Frank.
--- php-4.3.1/ext/standard/string.c 2002-12-27 04:22:20.000000000 +0100 +++ php-4.3.1-jedi/ext/standard/string.c 2003-03-06 12:41:46.000000000 +0100 @@ -654,7 +654,7 @@ for (current = 0; current < textlen; current++) { if (text[current] == breakchar[0]) { laststart = lastspace = current; - } else if (text[current] == ' ') { + } else if (!isalnum((unsigned char) text[current])) { if (current - laststart >= linelength) { newtext[current] = breakchar[0]; laststart = current; @@ -701,7 +701,7 @@ } /* if it is a space, check if it is at the line boundary, * copy and insert a break, or just keep track of it */ - else if (text[current] == ' ') { + else if (!isalnum((unsigned char) text[current])) { if (current - laststart >= linelength) { memcpy(newtext+newtextlen, text+laststart, current-laststart); newtextlen += current - laststart;
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php