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$lastChar1);
                                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;
        }