Replacer un mot dans un texte avec des accents? [PHP] - PHP - Programmation
Marsh Posté le 09-08-2004 à 16:29:02
Ben je ne crois pas que tu puisses gérer cela directement.
J'aurais tendance à faire un petite fonction du genre
Code :
|
Ensuite du fait
$mots=accents($mots) et ensuite tu applique ton preg_replace à $mots.
(Dans ce cas tu n'as plus besoin du "i" puisque c'est déjà traité par la fonction, mais bon tu fais comme tu le sens, hein )
Marsh Posté le 09-08-2004 à 16:43:29
deliriumtremens a écrit : Ben je ne crois pas que tu puisses gérer cela directement.
|
Merci de ta réponse,
J'avais aussi pensé à faire quelque-chose comme ça, mais alors le problème c'est qu'il va me remplacer
"Je m'appelle Léon" par "Je m'appelle leon" et non "Je m'appelle Léon"...
De plus cette fonction ne fonctionnera que si j'applique ta fonction à $mot et à $texte, auquel cas mon texte sera sans accents ni majuscules...
Personne n'a d'autre idée ???
Marsh Posté le 09-08-2004 à 21:07:03
Bon finalement en me creusant un peu la tête j'ai trouvé un moyen pour le faire...
Code :
|
Ce n'est pas extrêmement propre mais pour le moment ça a l'air de bien fonctionner... Si quelqu'un veut proposer une alternative il est le bienvenu.
Marsh Posté le 09-08-2004 à 16:08:48
Bonjour,
J'utilise la fonction preg_replace() pour mettre un mot en gras dans un texte. Grâce à l'option "i", elle est bien insensible à la casse, mais je ne trouve pas comment faire pour qu'elle soit également insensible aux accents.
Voilà le code que j'utilise:
Si j'ai
$mot = "léon";
et
$texte = "Je m'appelle Léon..."
, il n'y a pas de problème, mais si j'ai
$mot = "leon"
le mot n'est pas remplacé?
Comment faire pour que ça marche aussi avec les accents, mais sans les remplacer? (MySQL le fait car lorsqu'on cherche "%leon%" elle renvoie tous les textes où apparaît leon, léon, LéOn etc...
edit: Le message s'envoie tout seul si on fait TAB+enter
Message édité par Leffe Triple le 09-08-2004 à 16:13:19