Follow me on Twitter Facebook Flickr Subscribe Feeds
 

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 &amp;lt;br&amp;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

Pixmac
Like this post? Share It! :)
Navigation:
Related Posts:
Comments

Comments are closed.