SMsoft – informatica e dintorni

varie su OSX, GNU/Linux e l'Open Source

Evidenziare delle parole all’interno di testo in PHP

Per evidenziare delle parole all’interno di un testo con PHP si possono usare diverse soluzioni. Io preferisco utilizzare delle espressioni regolari che sono più eleganti e pulite.
Ipotizzando di avere un array con le parole da evidenziare che si chiama $ary_kw ed il testo completo che si chiama $txt, con il seguente codice potete impostare il grassetto alle vostre keywords:

 php |  copy code |? 
1
$txt = preg_replace ('@\b('.$ary_kw.')\b@si', '$1', $txt);
2

enjoy

Convertire BR multipli in un solo BR

E’ possibile utilizzare una semplice espressione regolare per sostituire occorrenze multiple di BR in un solo BR.
Ad esempio potrei trasformare velocemente:

 html |  copy code |? 
1
prova


prova

in
 html |  copy code |? 
1
prova
prova

con la seguente espressione regolare:
 php |  copy code |? 
1
preg_replace("/(\s*)+/", "
", $input);

Con lo stesso sistema possiamo convertire gli accapo (\n) multipli.
Ad esempio avendo:

 html |  copy code |? 
1
prova
2
3
4
prova

posso trasformarlo in
 html |  copy code |? 
1
prova
2
prova

con la funzione:
 php |  copy code |? 
1
 preg_replace("/(\n\s*)+/", "\n", $sinput);

Page optimized by WP Minify WordPress Plugin