Les Masques et la fonction preg_replace [ - Job's Done - ] Merci beleg - PHP - Programmation
Marsh Posté le 24-02-2003 à 20:54:27
pattern : "'\[mail\]([^\[]*)\[\/mail\]'si"
replace : "<a href=\"mailto:\\1\">\\1</a>"
[mail]bidule@com.com[/mail]
autre pattern :
"'\[img src=([^\s]*)\s*\/\]'si"
"'\[url link=(http:\/\/){0,1}([^\]]*)\]([^\[]*)\[\/url\]'si"
http://www.php.net/manual/fr/pcre.pattern.syntax.php
http://www.perldoc.com/perl5.6/pod [...] xpressions
Marsh Posté le 24-02-2003 à 21:04:08
ok, ok, je vois un peu mieux...
alors voilàce que j'ai pour le moment :
$message[2]=preg_replace("'\[color#(***)\](***)\[\/color\]'si", "<font color=\"#1\">2</font>", $message[2]); |
les '***' signifient que je ne sais pas quoi mettre ; je ne sais pas comment lui dire : prend la valeur initialement passée...
et je ne comprend pas, dans tes exemples précédents, ce que veut dire : ([^\[]*), et le 'si' qu'il y a à la fin, ça signifie koi ??
Marsh Posté le 24-02-2003 à 21:19:41
xkamui a écrit : ok, ok, je vois un peu mieux...
|
^ Accent circonflexe
Négation de la classe, mais uniquement si placé tout au début de la classe
[ Crochet ouvrant
Caractère de début de définition de classe
] Crochet fermant
Caractère de fin de définition de classe
[^\]] : un caractere different de ]
* : plusieurs caracteres
"'\[color=#([A-Ba-b0-9]{5})\](.*?)\[\/color\]'si"
Marsh Posté le 24-02-2003 à 21:35:33
je commence à comprendre, enfin, je pense... pour confirmation :
"' => ouverture du pattern
\[color=# => première partie inchangé à rechercher
([A-Ba-b0-9] => lettre/chiffres qui peuvent faire partie de cette partie
{5}) => boucle (avec start à 1, donc ici, 5 fois)
\] => suite de la partie inchangée
(.*?) => texte pouvant comporter plein de mot/caractères
\[\/color\] => fin de la partie inchangée
'si" => y'a juste pour ça que je comprend pas... c'est koi le '...'si ??
Marsh Posté le 24-02-2003 à 20:34:54
j'aimerais comprendre comment marche les masques et cette fonction car en regardant ici : http://www.php.net/manual/fr/function.preg-replace.php, je dois vous avouer que j'ai pas avancé d'un yota...
donc en fait, j'aimerais prendre pour exemple ceci :
je vous ai mis les morceaux entre {}, pour bien voir ce qui sera variable et ce qui sera constant...
aidez moi svp... je nage !!!
Message édité par xkamui le 24-02-2003 à 21:39:59