IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Problème pour concevoir une expression régulière [RegEx]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Problème pour concevoir une expression régulière
    Bonjour,

    Je cherche à utiliser la fonction preg_replace dans le moteur de recherche de mon site (pour précision c'est un site dynamique ou le contenu des pages se trouve dans une DB).

    Lorsqu'un visiteur saisie une chaine de caractères dans ce moteur de recherche cela lui affiche un certain nombre de résultat et si il en sélectionne un, il se retrouve sur la page concernée avec toutes les occurrences de la chaine recherchée surlignées en jaune.

    seulement voilà ma fonction preg_replace qui devrait exclure les balises html de mise en forme de la page ne le fait pas tout le temps, et de temps à autre je me retrouve avec balises html surlignées en jaunes....

    ex: si je cherche la chaine "réf" il va me ramener des pages contenants les mots "référant, référence...." mais aussi les balises html "<a href="

    voilà l'expression régulière que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $regex2 = "#([^<][\w\s=/\"_-]+)(".$_SESSION['recherche_litterale'].")([\w\s]+[^>])#isU";
     
    echo preg_replace($regex2,"$1<font style=\"background-color: #ffff00\">$2</font>$3",$rq['art_contenu']);
    merci d'avance de votre aide, moi là je tourne en rond....

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    Pourquoi ne pas utiliser http://fr.php.net/strip_tags pour supprimer certaines balises HTML ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Salut,

    le problème de strip_tags c'est que ça supprime toutes les balises html ce qui implique que ça supprime aussi toute ma mise en forme.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bon j'ai trouvé tout seul comme un grand... Pour ceux que ça peut intéresser voilà ma regex :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $regex2 = "#(>[\w\sàáâãäåæçèéêëìíîïðñòóôõöøœšÞùúûüýÿ÷%§~{}|@°£¤µ&$€\\/\(\).,;_:'\"\#\[\]!?*+-]*)(".$_SESSION['recherche_litterale'].")([\w\sàáâãäåæçèéêëìíîïðñòóôõöøœšÞùúûüýÿ÷%§~{}|@°£¤µ&$€\\/\(\).,;_:'\"\#\[\]!?*+-]*<)#isU";
     
    echo preg_replace($regex2,"$1<font style=\"background-color: #ffff00\">$2</font>$3",$rq['art_contenu']);

  5. #5
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Citation Envoyé par lokicorp Voir le message
    Salut,

    le problème de strip_tags c'est que ça supprime toutes les balises html ce qui implique que ça supprime aussi toute ma mise en forme.
    Tu n'as pas dû lire la documentation, tu peux préciser les balises à supprimer. Concernant la mise en forme, sachant qu'elle est faite par les balises, il est évident que les supprimer supprime la mise en forme..

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    mmmmm... ca veut dire que dois lui préciser toutes les balises html existantes et avec toutes les possibilités de critères existantes ??? si c'est le cas ça sera pas bien pratique.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Aide pour finaliser une expression régulière
    Par [ZiP] dans le forum Langage
    Réponses: 3
    Dernier message: 16/10/2013, 22h25
  2. Besoin d'aide pour une expression régulière
    Par planetiss dans le forum Langage
    Réponses: 5
    Dernier message: 16/02/2006, 19h04
  3. [Java][Xpath] Problème pour rédiger une expression
    Par althea_vestrit dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 23/01/2006, 20h53
  4. Réponses: 6
    Dernier message: 17/08/2005, 12h38
  5. Problème sur une expression régulière
    Par Verbal-Quint dans le forum Langage
    Réponses: 6
    Dernier message: 12/11/2004, 10h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo