
| auteurs : Forum PHP, Kerod |
Voici quelques exemples d'expressions régulières parsant
des BBCodes :
BBCode [b]Forum Developpez.com[/b] |
$ str = " [ b ] Forum Developpez . com [ / b ] " ;
echo preg_replace(' #\[b\](.*)\[/b\]#Usi ' , ' <b>$1</b> ' , $ str );
|
BBCode [i]Forum Developpez.com[/i] |
$ str = " [ i ] Forum Developpez . com [ / i ] " ;
echo preg_replace(' #\[i\](.*)\[/i\]#Usi ' , ' <i>$1</i> ' , $ str );
|
BBCode [url]http://www.developpez.net[/url] |
$ str = " [ url ] http : / / www . developpez . net [ / url ] " ;
echo preg_replace(' #\[url\](.*)\[/url\]#Usi ' , ' <a href="$1">$1</a> ' , $ str ). " < br > " ;
|
BBCode [url=http://www.developpez.net]Forum Developpez.com[/url] |
$ str = " [ url = http : / / www . developpez . net ] Forum Developpez . com [ / url ] " ;
echo preg_replace(' #\[url=([^\]]*)\](.*)\[/url\]#Usi ' , ' <a href="$1" title="$2">$2</a> ' , $ str );
|
BBCode [color=#FF0000]Forum Developpez.com[/color] |
$ str = " [ color = # FF0000 ] Forum Developpez . com [ / color ] " ;
echo preg_replace(' #\[color=([^\]]*)\](.*)\[/color\]#Usi ' , ' <font color="$1">$2</font> ' , $ str );
|
BBCode [quote]Forum Developpez.com[/quote] |
$ str = " [ quote ] Forum Developpez . com [ / quote ] " ;
$ quote = ' <div style="width:50%;background-color:#CCCCCC"><div style="background-color:#FFFFFF">Citation :</div> ' ;
$ quote . = ' <div style="background-color:#CC0000">$1</div></div> ' ;
echo preg_replace(' #\[quote\](.*)\[/quote\]#Usi ' , $ quote , $ str );
|
BBCode [quote=FAQ]Forum Developpez.com[/quote] |
$ str = " [ quote = FAQ ] Forum Developpez . com [ / quote ] " ;
$ quote = ' <div style="width:50%;background-color:#CCCCCC"><div style="background-color:#FFFFFF">Citation :</div> ' ;
$ quote . = ' $1 a écrit :<div style="background-color:#CC0000">$2</div></div> ' ;
preg_replace(' #\[quote=([^\]]*)\](.*)\[/quote\]#Usi ' , $ quote , $ str );
|
|
lien : Tutoriel : Initiation aux expressions régulières en PHP, par Guillaume Rossolini
lien : Tutoriel : Les expressions régulières et manipulation de chaînes standards, par Hugo Étiévant
|
| auteurs : Guillaume Rossolini, Kerod |
Pour mettre un effet de surbrillance sur certains mots dans
un texte, on peut utiliser la fonction
preg_replace
qui recherchera et effectuera la surbrillance de l'expression voulu.
Voici un exemple :
Surbrillance de certains pronoms | <?php
$ words = array (' de ' , ' du ' , ' des ' , ' le ' , ' la ' , ' les ' );
$ str = " L ' édition de cette année du 20 au 27 mars partout en France traitera des dernières tendances en vogue ,
comme le phénomène des blogs ou encore l ' internet mobile . " ;
echo preg_replace( ' /( ' . implode(' | ' , $ words ). ' )/i ' , ' <span style="font-weight: bold; color: red;">$1</span> ' , $ str );
?>
|
Et donc ceci affichera :
L'édition de cette année du 20 au 27 mars partout en France traitera des dernières tendances en vogue,
comme le phénomène des blogs ou encore l'internet mobile.
Remarque :
Cette instruction sert à transformer le tableau $words en
chaîne de caractères, et chaque pronom sera séparé par le
caractère |, qui signifie OU (alias OR), ce qui
donnera à l'expression régulière tous les pronoms possibles à remplacer.
|
lien : Tutoriel : Initiation aux expressions régulières en PHP, par Guillaume Rossolini
lien : Tutoriel : Les expressions régulières et manipulation de chaînes standards, par Hugo Étiévant
|
| auteur : s.n.a.f.u |
Vous pouvez utiliser la fonction personnalisée suivante qui se base sur les expressions régulières pour remplacer les caractères accentués une fois convertis en entités HTML.
function remove_accents($ str , $ charset = ' utf-8 ' ) {
$ str = htmlentities($ str , ENT_NOQUOTES, $ charset );
$ str = preg_replace(' #\&([A-za-z])(?:acute|cedil|circ|grave|ring|tilde|uml)\;# ' , ' \1 ' , $ str );
$ str = preg_replace(' #\&([A-za-z]{2})(?:lig)\;# ' , ' \1 ' , $ str );
$ str = preg_replace(' #\&[^;]+\;# ' , ' ' , $ str );
return $ str ;
}
|
|
Consultez les autres F.A.Q.
Les sources présentés sur cette page sont libres de droits,
et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs.
Copyright ©2003
Developpez LLC. Tous droits réservés Developpez LLC.
Aucune reproduction, même partielle, ne peut être faite de ce site et de
l'ensemble de son contenu : textes, documents et images sans l'autorisation
expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans
de prison et jusqu'à 300 000 E de dommages et intérêts.
Cette page est déposée à la SACD.
|