PHP: convertire “BR” in spazio
This entry was posted on October 17th, 2009 and is filed under php.
Con l’articolo di oggi ci tengo a ringraziare personalmente Andrea Olivato che ha pubblicato questo piccolissimo script proprio nel momento in cui ne avevo bisogno!
Il piccolo frammento di codice è utilissimo quando abbiamo a che fare con del testo HTML che dobbiamo manipolare per inserirlo nel database o, come nel mio caso in questo momento per convertirlo in un file pdf o per gli svariati utilizzi in cui dobbiamo convertire il ritorno a capo <br /> in un semplice spazio.
Lo script utilizza le (da molti) tanto odiate regular expression per effettuare la conversione ed è composto da 3 semplicissime righe di codice che, per comodità, ho racchiuso in una funzione da richiamare all’occorrenza. Vediamolo insieme:
$string = 'Lorem <br>ipsum<br style="border:1px solid #CCC" />
dolor<br /> sit<br style="height:1000px;">amet';
function br_to_space($string) {
/* Stripping all other tags
* [optional, depends on what you want to do
*/
$string = strip_tags($string,'<br>');
/* Changing all &lt;br&gt; types into spaces */
$string = preg_replace('/<br[^>]*>/',' ',$string);
/* Avoiding double spaces */
return $string = preg_replace('/[\ ]+/',' ',$string);
}
/* Will output: 'Lorem ipsum dolor sit amet' */
Niente di particolarmente complicato. La prima riga elimina tutti gli altri tag html dalla stringa, <br> escluso; la seconda converte i ritorni a capo in spazi e l’ultima elimina i doppi spazi. Il codice originale è presente al seguente indirizzo: Regex to change any BR in space in #PHP.
Via | Quickies, by Andrea Olivato









