Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2491 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  expression regulière

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

expression regulière

n°342793
art_dupond
je suis neuneu... oui oui !!
Posté le 25-03-2003 à 16:41:35  profilanswer
 

youp,
 
 
j'essaye de transformer
 

[#225566]zearioazyriuzaye[/color]
 
en  
 
<span style="color:#225566">zearioazyriuzaye</span>


 
en faisant

Code :
  1. $body = "[225566]zearioazyriuzaye[/color]";
  2. $body = preg_replace("/\[([\#a-z0-9]+?)\]/si", "<span style=\"color: $1\">", $body);


 
 
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
mood
Publicité
Posté le 25-03-2003 à 16:41:35  profilanswer
 

n°342836
jodalton
Posté le 25-03-2003 à 17:31:50  profilanswer
 

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

n°342840
art_dupond
je suis neuneu... oui oui !!
Posté le 25-03-2003 à 17:46:14  profilanswer
 

yep, j'ai transformé la balise de fin dans avec un autre truc, mais y a pas moyen de tout faire ensemble ?


---------------
oui oui
n°342914
jodalton
Posté le 25-03-2003 à 19:46:42  profilanswer
 

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 :p
 
Tu trouves pas que c'est déjà assez compliqué pour avoir envie de faire tout en même temps ?

n°342924
art_dupond
je suis neuneu... oui oui !!
Posté le 25-03-2003 à 20:01:31  profilanswer
 

no mais en fait, je voulais qu'il le fasse que s'il trouve le début et la fin, pour pas laisser un tag ouvert...


---------------
oui oui
n°343182
skylight
Made in France.
Posté le 25-03-2003 à 22:10:55  profilanswer
 

$body = preg_replace("/\[([\#a-z0-9]+?)\](.+?)\[\/color\]/si", "<span style=\"color: $1\">\\2</span>", $body);


Message édité par skylight le 25-03-2003 à 22:12:55
n°343710
art_dupond
je suis neuneu... oui oui !!
Posté le 26-03-2003 à 12:24:29  profilanswer
 

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 :p
 
Si tu pouvais expliquer chaque signe :jap:  

n°343735
skylight
Made in France.
Posté le 26-03-2003 à 12:50:56  profilanswer
 

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

n°343744
art_dupond
je suis neuneu... oui oui !!
Posté le 26-03-2003 à 13:02:09  profilanswer
 

ok merci, c'était la différence qui faisait que c'était pas clair
 
 
merci encore :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  expression regulière

 

Sujets relatifs
Expression reguliere en php4.0[php, shell, ...] Expression régulière
Expression régulière help me[PHP] Petit soucis avec une expression régulière
[JS] Expression régulière, objet RegExp[Java]Expression régulière
[expression régulière] Capturer du texte jusqu'à une occurrenceAidez moi a completer cette Expression régulière
Par expression régulière ou autre : gérer des masques de saisiePb (surement tout con) avec une expression régulière (tte conne)
Plus de sujets relatifs à : expression regulière


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)