expression regulière - PHP - Programmation
Marsh Posté le 25-03-2003 à 17:31:50
J'ai pas envie de me plonger dans tes expressions régulières, mais 3 remarques : 
- il doit manquer un "color=" dans ton premier encadré 
- l'espace avant le "#" peut être enlevé dans l'expr reg 
- le chgt pour la balise de fin peut se faire lors d'un autre appel à preg_replace (qui ne se chargera que du changement de la balise de fin) 
 
Y'a des explications sur commentcamarche.net 
Marsh Posté le 25-03-2003 à 19:46:42
Quel interêt ? 
 
Si ça te fait plaisir tu feras une fonction perso qui fera les 2 opérations à la suite... ça te donnera l'impression de faire les 2 en même temps  
 
 
Tu trouves pas que c'est déjà assez compliqué pour avoir envie de faire tout en même temps ?
Marsh Posté le 25-03-2003 à 22:10:55
$body = preg_replace("/\[([\#a-z0-9]+?)\](.+?)\[\/color\]/si", "<span style=\"color: $1\">\\2</span>", $body);
Marsh Posté le 26-03-2003 à 12:24:29
youp merci  
 
 
 
 
tu pourrais me dire ce que font exactement $1 et \\2 ? je vois ce qu'ils font mais c'est pas très clair  
 
 
Si tu pouvais expliquer chaque signe  
  
Marsh Posté le 26-03-2003 à 12:50:56
alors 
$1 est en fait ce que le php trouve dans la premiere parenthese, 
 
et \\2 ce que le php trouve dans la 2°. 
 
 
$1 est une facon de dire \\1 
 
sachant que $1 ne marche que sur php 4.x et plus, il vaut mieux utiliser \\1 et \\2, et ainsi de suite
Marsh Posté le 26-03-2003 à 13:02:09
ok merci, c'était la différence qui faisait que c'était pas clair 
 
 
merci encore  
 
Marsh Posté le 25-03-2003 à 16:41:35
youp,
j'essaye de transformer
[#225566]zearioazyriuzaye[/color]
en
<span style="color:#225566">zearioazyriuzaye</span>
en faisant
résultat =>
<span style="color: #225566">zearioazyriuzaye[/color]
j'arrive pas à transformer la balise de fin
si quelqu'un peut m'aider...
et si quelqu'un a un bon tutorial, ca m'intéresse aussi
Message édité par art_dupond le 25-03-2003 à 17:45:33
---------------
oui oui