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