FrenchKiss Posté 4 Avril 2005 Posté 4 Avril 2005 Hello à tous J'ai dans un tableau $search une liste de mots. J'aimerais parcourir un string $message pour : - trouver les X premières occurences de chacun de ces mots (par défaut, X=1) - remplacer "mot" par "[abbr]mot[/abbr]" ... A priori, une fonction preg_replace ferait l'affaire, mais ma connaissance très limitée des regexp me bloque un peu, aussi fais-je appel aux âmes charitables qui peuplent le Hub Merci d'avance à ceux qui voudront bien m'éclairer ! a +
Dan Posté 4 Avril 2005 Posté 4 Avril 2005 Salut, $message = ereg_replace("(mot)", "[abbr]\\1[/abbr]", $message); devrait jouer pour le remplacement, non ? Remplaces "(mot)" par l'expression que tu veux entourer des tags. Dan
FrenchKiss Posté 4 Avril 2005 Auteur Posté 4 Avril 2005 (modifié) Il semblerait que ça ne passe pas. Je pense que ça vient du fait que je cherche à remplacer PLUSIEURS mots En fait, j'ai essayé $message = ereg_replace($search, "[abbr]\\1[/abbr]", $message); et il ne se passe rien -> $search étant obtenu par mysql_fetch_row (c'est donc un tableau de mots à remplacer). ----- sinon J'ai essayé avec un mot en particulier $message = ereg_replace("bonjour", "[abbr]\\1[/abbr]", $message); et je me retrouve avec des [abbr]\1[/abbr] dans mon texte à la place des "bonjour" je crois que $message = ereg_replace($mot, "[abbr]$mot[/abbr]", $message); est donc plus adapté ... Enfin moi j'en ai 150 des mots à remplacer, je me vois mal ajouter 150 lignes de code je pense à un foreach pour traiter chaque mot de mon tableau... ? Mais là encore je n'en connais pas bien le fonctionnement :/ Modifié 4 Avril 2005 par FrenchKiss
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant