FrenchKiss Posté 4 Avril 2005 Partager 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 + Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 4 Avril 2005 Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
FrenchKiss Posté 4 Avril 2005 Auteur Partager 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant