note 91019 deleted from function.preg-replace by danbrown

From: Date: Thu, 21 May 2009 12:50:15 +0000
Subject: note 91019 deleted from function.preg-replace by danbrown
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-155834@lists.php.net to get a copy of this message
Note Submitter: Jacques ---- en PHP 5: Pour l'interprétation des BBcode, il faut un masque non gourmand, donc il fait utiliser les modificateurs x = PCRE_EXTENDED: sinon la séquence (.*?) n'est pas évaluée correctement g = PCRE_GLOBAL: sinon le remplacement s'arrête après la première occurrence. si le texte comporte des retour à la ligne, on utilisera m = PCRE_MULTILINE voici un exemple fonctionnel $bbcode = array( "/\[b\](.*?)\[\/b\]/mxg" => "<b>$1</b>", "/\[u\](.*?)\[\/u\]/mxg" => "<u>$1</u>", "/\[url\=(.*?)\](.*?)\[\/b\]/mxg" => "<a href='$1'>$2</a>" ); $text = "[b]Text[/b][u]Text[/u]"; $text = preg_replace(array_keys($bbcode), Pour vous aider a mettre au point les regexp, il existe quelques logiciels spécialisés comme RegExpBudy (commercial), RegexCoach (propriétaire mais gratuit...) et JH RegExp Builder qui est meilleur car il prend en charge toute les syntaxes et sous licence libre (c'est celui que j'utilise).

« previous php.notes (#155834) next »