aaaaaaaaaaaa discusssione di DUE ANNI FA! (non uccidetemiiii -super smile-)
grazie a google code ho trovato due funzioni simili, una che usa le regex (giusto?) e l'altra no, anche se mi sembra una modifica di quella segnalata precedentemente su php.net
secondo voi -perché io non ci capisco nulla- quale delle tre soluzioni è migliore (più veloce intendo) e che non mi tagli i char html? (& e compagnia ad esempio..)
Codice PHP:
function textwrap($text, $width=75) {
if ($text) return preg_replace("/([^\n\r ?&\.\/<>\"\\-]{".$width."})/i"," \\1\n",$text);
}
Codice PHP:
function textwrap($text, $wrap=80, $break='
\n'){
$len = strlen($text);
if ($len > $wrap){
$h = '';
$lastWhite = 0;
$lastChar = 0;
$lastBreak = 0;
while ($lastChar < $len){
$char = substr($text, $lastChar, 1);
if (($lastChar - $lastBreak > $wrap) && ($lastWhite > $lastBreak)){
$h .= substr($text, $lastBreak, ($lastWhite - $lastBreak)) . "$break";
$lastChar = $lastWhite + 1;
$lastBreak = $lastChar;
}
/* You may wish to include other characters as valid whitespace... */
if ($char == ' ' || $char == chr(13) || $char == chr(10)){
$lastWhite = $lastChar;
}
$lastChar = $lastChar + 1;
}
$h .= substr($text, $lastBreak);
}
else{
$h = $text;
}
return $h;
}