Surligner une expression recherchée dans une chaine de caractères - PHP - Programmation
Marsh Posté le 22-07-2004 à 02:09:42
Utilise une fonction de remplacement avant l'affichage (en supposant que tu affiches les résultats en HTML) comme str_replace ou preg_replace.
Code :
|
va donner cible est le mot recherché. (enfin, avec la CSS idoine )
Utilise str_replace ou preg_replace suivant que tu veux retrouver les apparitions d'une chaine ou un mot seulement.
Marsh Posté le 22-07-2004 à 18:04:27
naceroth a écrit : Utilise une fonction de remplacement avant l'affichage (en supposant que tu affiches les résultats en HTML) comme str_replace ou preg_replace.
|
Merci beaucoup ça marche impec, le seul détail c'est que str_replace est sensible à la casse Chez trouvé sur un site la fonction str_ireplace qui est la version insensible à la casse de str_replace donc j'étais trop content mais elle ne marche pas! Ca m'affiche "call undefinided function str_ireplace" etc.. Donc jsuis deg Mon hébergeur est multimania, est ce possible que leur serveur php ne reconnaisse pas toutes les fonctions ?
Marsh Posté le 22-07-2004 à 18:07:10
str_ireplace est dispo en php5, multimania ne doit pas y être encore.
Il faudra attendre
Marsh Posté le 22-07-2004 à 18:09:33
harrysauce a écrit : Avec une expression régulière, ca passe non? |
avec str_replace ça marche tres bien oui
Marsh Posté le 22-07-2004 à 18:10:11
T509 a écrit : str_ireplace est dispo en php5, multimania ne doit pas y être encore. |
Mince sont nuls multimania
Marsh Posté le 22-07-2004 à 18:10:54
Clapsou a écrit : avec str_replace ça marche tres bien oui |
str_replace est sensible à la casse, et str_ireplace n'est pas dispo chez ton hébergeur, je te proposais donc de passer par les epxressions régulière (fonction eregi, par exemple).....
Marsh Posté le 22-07-2004 à 18:12:07
harrysauce a écrit : str_replace est sensible à la casse, et str_ireplace n'est pas dispo chez ton hébergeur, je te proposais donc de passer par les epxressions régulière (fonction eregi, par exemple)..... |
Ah dsl, quelle différence entre une expression normal ou bien régulière ?
Marsh Posté le 22-07-2004 à 19:19:23
ereg_ireplace ne marche pas non plus sur multimania et ereg_replace n'est pas moins sensible à la casse de str_replace
Marsh Posté le 22-07-2004 à 19:42:35
Si, avec les regex ça fonctionne (j'y avais pas pensé à la casse ) :
Code :
|
donne bien Cible est le mot recherché.
Et je suis pas un pro en regex
Marsh Posté le 22-07-2004 à 20:29:50
naceroth a écrit : Si, avec les regex ça fonctionne (j'y avais pas pensé à la casse ) :
|
Bravo tu es un chef!
Marsh Posté le 22-07-2004 à 01:44:11
Je suis en train de faire un moteur de recherche pour mon site et à l'aide d'une requete sql je prend toutes les lignes de la table ou tel champ contient ou est égal au mot ou à l'expression entré par le visiteur. Ca marche très bien mais je souhaiterais (pour que ça soit plus classe et lisible) surligner ou mettre d'une autre couleur le mot ou l'expression recherchée à l'intérieur de toute la chaine de caractère du champ. Est ce que quelqu'un a une idée ? Peut être qu'il fautdrait utiliser la fonction stristr mais elle ne trouve que la première occurence de la chaine ou bien la fonction strpos mais elle ne trouve que la dernière position de l'occurence puis comment faire pour ensuite écrire l'occurence en une autre couleur juste en ayant sa position dans la chaine de toutes façons.
Merci pour votre aide