[RESOLU] remplacer occurence php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] remplacer occurence php

Re: remplacer occurence php

par xTG » 23 oct. 2013, 12:54

Je dis ça rapidement mais : pourquoi ne pas trier la liste des mots-clés par taille décroissante et ensuite par ordre alphabétique ?
Ainsi tu traiterai le mot clé "xp" après "console xp".

Re: remplacer occurence php

par damien_55 » 23 oct. 2013, 11:49

oui, c'est une idée mais je ne vois pas comment codé ça:

Voici mon code:
$pattern = '/ '.$keyword.' /';
$chaine2 = preg_replace($pattern, ' <a href="'.$rempl.'" title="'.$keyword.'">'.$keyword.'</a> ' , $chaine2, 1);
A noter que les mots kerword sont stockés en base et xp et console xp ne sont qu'un exemple. j'ai le meme probleme avec par exemple: php et forum php.

Re: remplacer occurence php

par computarelier » 23 oct. 2013, 11:17

Salut,

Dans ton pattern tu peux pas lui dire (tous les mots consoles suivis d'XP) tu fais : ça .
Puis après (tous les mots non précédés par le remplacement de console mais suivis de XP) tu fais ça. ?

Re: remplacer occurence php

par damien_55 » 22 oct. 2013, 23:30

non, non, pas de preg_replace_all.

je me suis mal exprimé.

J'ai un texte genre:
$chaine2 = j'ai acheté un console xp. je souhaite voir la prochaine de xp.
Le but est de remplacer est de remplacer les termes xp et console xp par en fonction de deux mots clefs respectivement dans ma base: xp et console xp.

mon script fonctionne trés bien si seul les termes sont indépendant (c'est à dire par exemple j'aurai comme mots clefs: xp et console),

Mais comme j'ai xp et console xp, ça ne marche pas. Il remplace que le premier mot. le deuxième terme "xp" n'est pas remplacer parce qu'il y a xp dedans et qu'il a été traité avant.

Voilà, j'espère avoir été plus clair.

Dés qu'un terme contient un mot qui a déjà été traité ça ne fonctionne plus pour le terme suivant.

Re: remplacer occurence php

par xTG » 22 oct. 2013, 20:06

J'aurai mieux fait de linker la doc et j'aurai compris ma bévue. :mrgreen:
M'enfin... Cela confirme que je suis toujours pas à l'aise avec les regex !

Re: remplacer occurence php

par blof » 22 oct. 2013, 19:42

le paramètre limit est à 1, c'est voulu ?

(limit : Le nombre maximal de remplacement pour chaque masque dans chaque chaîne subject.)

preg_replace_all ? ;)
allons bon ... :)

Re: remplacer occurence php

par xTG » 22 oct. 2013, 19:33

preg_replace_all ? ;)

remplacer occurence php

par damien_55 » 22 oct. 2013, 18:36

bonjour,

J'ai un texte dans lequel je remplace des termes, j'arrive a ne remplacer qu'une seule occurence dans le texte par ce script:
$chaine2 = preg_replace($pattern, ' <a href="'.$rempl.'" title="'.$keyword.'">'.$keyword.'</a> ' , $chaine2, 1);
ce qui me pose probleme, lorque que j'ai:

- xp, console xp comme mots clefs

et plusieurs occurences xp et console xp dans mon texte: cela va seulement remplacer la premiere occurence de xp et pas "console xp" puisque xp est contenu dedans malgré que ce soit dans 2 phrases différentes.

Je ne sais pas comment faire. J'espere que mon explication est claire.