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

  FORUM HardWare.fr
  Programmation
  PHP

  str_replace & preg_replace

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

str_replace & preg_replace

n°1715087
redah75
Posté le 09-04-2008 à 15:38:29  profilanswer
 

Bonjour,
 
Je bloque sur une petit probleme, peut etre trop simple, que je n'arrive vraiment pas a resoudre!!! :
 
str_replace(array("nl", "enl", "etc" ), array("Newsletter (Papier)", "e-Newsletter", "mon text" ), "test, nl, enl, ..." );
 
"nl" est bien remplace par "Newsletter (Papier)"
mais par contre "enl" est remplace aussi par "Newsletter (Papier)" et ca m'affiche "eNewsletter (Papier)" :(
 
y a t il un moyen de demander de chercher et remplacer la valeur COMPETE d'un element de tableau???
 
Merci beaucoup de votre aide.

mood
Publicité
Posté le 09-04-2008 à 15:38:29  profilanswer
 

n°1715108
anapajari
s/travail/glanding on hfr/gs;
Posté le 09-04-2008 à 16:06:13  profilanswer
 

commence ton replace par les valeurs les plus "longues" ( en l'occurence fait le replace en enl avant celui de nl )


---------------
Software and cathedrals are much the same - first we build them, then we pray.
n°1715123
redah75
Posté le 09-04-2008 à 16:21:58  profilanswer
 

merci pour ta reponse.
mon tableau de recherche est deja defini, dois utiliser une fonction qui modifie l'ordre des valeurs selon leurs longueur????

n°1715138
sielfried
Posté le 09-04-2008 à 16:34:15  profilanswer
 

Essaie ça sinon (car je suppose que tu ne veux remplacer que les "mots" entiers) :
 
preg_replace(array('/\bnl\b/', '/\benl\b/', '/\betc\b/'), array('Newsletter (Papier)', 'e-Newsletter', 'mon text'), $tachaine);


Message édité par sielfried le 09-04-2008 à 16:34:53

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1715170
redah75
Posté le 09-04-2008 à 17:16:01  profilanswer
 

oui, je veux remplacer que les "mots" entiers.
desole, je ne saurai faire ce que tu m'as dit car mon tableau est deja defini... comment pourrais je y introduire les '/\b...\b/' ??
 
merci mille fois :)

n°1715304
sielfried
Posté le 09-04-2008 à 20:23:21  profilanswer
 

Code :
  1. function make_word_pattern($word) {
  2.  return '/\b' . $word . '\b/';
  3. }
  4. $array = array_map('make_word_pattern', $array);


Message édité par sielfried le 09-04-2008 à 20:23:39

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1715469
redah75
Posté le 10-04-2008 à 11:01:57  profilanswer
 

Wow, c'est magique, ca marche :)
je te remercie infiniment pour ton aide...
merci

n°1716173
redah75
Posté le 11-04-2008 à 12:12:33  profilanswer
 

Bonjour, encore moi :)
je reviens vers vous juste pour un petit conseil.
je suis entrain de concevoir un outil de mailing et je me pose qlq questions qui m'empechent d'avancer...
quel est le meilleur moyen de stocker les destinataires (entre 1 et 5000 destinataires) ???
j'ai mis une table secondaire qui contient juste 2 champs : id_mailing et id_destinataire, mais lorsque je fais une recherche et j'obtiens par exemple 1500 destinataires, ca met bp de temps a enregistrer les 1500 enregistrements... :(
devrais je les mettre ds un seul champ separes par un separateur???
 
merci encore une fois.


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

  str_replace & preg_replace

 

Sujets relatifs
Preg replace : ne fonctionne que pour une seule ligneprob preg_replace
regex et preg_replace()Question à propos de la fonction "preg_replace"
[php]preg_replace et limite | help me and get a free cookieProblème preg_replace() et chiffres, numéros
preg_replace et balises à arguments variables[resolu] Probleme de PREG_REPLACE
preg_replace 
Plus de sujets relatifs à : str_replace & preg_replace


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