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

  FORUM HardWare.fr
  Programmation
  PHP

  Occurence multiples dans chaine

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Occurence multiples dans chaine

n°1822387
hornetmen
GaZZzz... Et Flash....22
Posté le 05-12-2008 à 12:51:19  profilanswer
 

Bonjour,
 
Je me tire les cheveux.....
 
J'ai une chaine de caractère :
 

Code :
  1. $c2="d(DBE0PUE1_AXC_10XC_J_2E_1) & d(DBE0PUE1_CXC_10XC_J_2E_2) & d(DBE0PUE1_CXC_10XC_J_2E_3)";


 
Je voudrais en résultat avoir ceci :
(en gros je créé un lien avec ce qu'il y a entre parenthèse)
 
 

Code :
  1. d(<a href='toto.php?joby=DBE0PUE1_AXC_10XC_J_2E_1>DBE0PUE1_AXC_10XC_J_2E_1</a> ) & d(<a href='toto.php?joby=DBE0PUE1_CXC_10XC_J_2E_2>DBE0PUE1_CXC_10XC_J_2E_2</a> ) & d(<a href='toto.php?joby=DBE0PUE1_CXC_10XC_J_2E_3</a>DBE0PUE1_CXC_10XC_J_2E_3</a> )


 
Sachant que ma chaine peut etre du type :
 
d(DBE0PUE1_ZXC_10XC_J_2E_1)  
k(DBE0PUE1_KXC_10XC_J_2E_1) & s(DBE0PUE1_RXC_10XC_J_2E_2)
(DBE0PUE1_ZXC_10XC_J_2E_1)
 
Je sais récupérer les pattern entre parentese avec du eregi par exemple.
Mais incapable de traiter ma chaine à la volée.
 
A vot' bon coeur ;)

mood
Publicité
Posté le 05-12-2008 à 12:51:19  profilanswer
 

n°1822430
FlorentG
Posté le 05-12-2008 à 14:08:38  profilanswer
 

C'est pour la NASA ton truc ? [pingouino]
 
Utilise preg_replace (eregi === caca), qui permet de matcher une string comme ça et de remplacer.

n°1822443
hornetmen
GaZZzz... Et Flash....22
Posté le 05-12-2008 à 14:15:30  profilanswer
 

lol mais non spa pour la NASA : )
 
J'ai bien essayé ca :
 

Code :
  1. $Texte = eregi ("\((.*)\)" , "$c1" , $Resultat);
  2. print "$c2 => $Resultat[1] \n";


 
Mais ca ne me donne pas le résultat escompté....

n°1822477
hornetmen
GaZZzz... Et Flash....22
Posté le 05-12-2008 à 14:54:57  profilanswer
 

en gros ma regexp c'est :
 

Code :
  1. (\(.+?\))


 
Comment remplacer toutes les occurence de la ligne ?

n°1822490
FlorentG
Posté le 05-12-2008 à 15:16:18  profilanswer
 

Comme ça :

Code :
  1. <?php
  2. $c2="d(DBE0PUE1_AXC_10XC_J_2E_1) & d(DBE0PUE1_CXC_10XC_J_2E_2) & d(DBE0PUE1_CXC_10XC_J_2E_3)";
  3.  
  4. $c2 = preg_replace('/\(([^)]*)\)/', '(<a href="toto.php?joby=$1>$1</a> )', $c2);
  5.  
  6. var_dump($c2);

n°1822499
hornetmen
GaZZzz... Et Flash....22
Posté le 05-12-2008 à 15:28:47  profilanswer
 

c niquel !
Enfin ca marche pas direct mais je devrais m'en sortir ;)
 
 
Ptite question , pkoi un var_dump ?

n°1822506
hornetmen
GaZZzz... Et Flash....22
Posté le 05-12-2008 à 15:32:20  profilanswer
 

ah nan ca marche dierect en fait, c'etait les doubles quotes qui merdaient ;)
 
Vraiment, merci ;)

n°1822508
masklinn
í dag viðrar vel til loftárása
Posté le 05-12-2008 à 15:33:45  profilanswer
 

FlorentG a écrit :

Comme ça :

Code :
  1. <?php
  2. $c2="d(DBE0PUE1_AXC_10XC_J_2E_1) & d(DBE0PUE1_CXC_10XC_J_2E_2) & d(DBE0PUE1_CXC_10XC_J_2E_3)";
  3.  
  4. $c2 = preg_replace('/\(([^)]*)\)/', '(<a href="toto.php?joby=$1>$1</a> )', $c2);
  5.  
  6. var_dump($c2);



t'as pas refermé le @href [ciler]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1822511
FlorentG
Posté le 05-12-2008 à 15:39:07  profilanswer
 

hornetmen a écrit :

Ptite question , pkoi un var_dump ?


Juste pour afficher le résultat.
 

masklinn a écrit :

t'as pas refermé le @href [ciler]


Bien vu [jap]


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

  Occurence multiples dans chaine

 

Sujets relatifs
preg_replace -> jusqu'à une chaineCryptage d'une chaine
[débutant][questionalacon] scanf et chaîne de caractèresSupprimer une partie d'une chaine de caractère.
Antiflood de caractere dans une chaine et accentStocker un espace dans chaine de caractère
[Batch] FOR et concanétion de chaine[Delphi]Saisir une chaine de caractères dans un programme extérieur
comparaison de chaine ça marche plusEnlever des parentheses debut et de fin à une chaine!!!
Plus de sujets relatifs à : Occurence multiples dans chaine


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR