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 :

utilisation preg_replace [RegEx]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut utilisation preg_replace
    Salut tout le monde,

    je debute en regex, et j'ai quelques difficultés à utiliser le preg_replace..
    voici mon probleme :

    je voudrais remplacer une chaine comme :
    <div style... </div> par une balise 'balise_div'

    j'utilise la fonction suivante :
    $content = preg_replace("#^(<div[.]+</div>)$#", "balise_div", $content) ;

    je veux donc remplacer le contenu de la 1e parenthese par 'balise_div',
    mais ça ne marche pas du tout..
    désolé, ce sont mes débuts, si vous pouviez m'aider, ce serait trop cool

    merci à tous !!

  2. #2
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Points : 1 658
    Points
    1 658
    Par défaut
    Salut,



    Si c'est en PHP comme en Python que je connais mieux, le fait de mettre le point entre crochets lui fait perdre son caractère spécial

    [.]+ ne va donc matcher qu'une succession de points, strictement parlant des caractères 'point'



    Comme il n'y a aucune option spécifiée dans ta RE, et donc notamment pas l'option m, les signes ^ et $ spécifient le début de la chaîne et soit la fin de chaîne (s'il n'y a pas plusieurs lignes) soit la fin de ligne.

    Ton expression signifie donc que tu veux remplacer la première ligne par 'balise_div' , et pas plus.



    http://fr2.php.net/manual/fr/referen....modifiers.php

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    merci, en effet, je mélangeais un peu tout
    j'ai fini par trouver une regex qui fonctionne pour ma recherche de string,
    c'est :
    $content = preg_replace('/<div[^>]*>.*?<\/div>/s', '[balise_div]', $content);

    merci de ta réponse,
    a+

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

Discussions similaires

  1. [RegEx] Utilisation preg_replace
    Par Invité dans le forum Langage
    Réponses: 10
    Dernier message: 04/12/2012, 13h51
  2. [RegEx] Comment utiliser preg_replace() quand il y a un . ou un ?
    Par pierrot10 dans le forum Langage
    Réponses: 6
    Dernier message: 07/05/2012, 22h43
  3. Utiliser $_SERVER avec un preg_replace
    Par GarGamel55 dans le forum Langage
    Réponses: 1
    Dernier message: 09/10/2006, 17h11
  4. [RegEx] utilisation de preg_replace
    Par magdalena dans le forum Langage
    Réponses: 1
    Dernier message: 30/08/2006, 14h43
  5. [RegEx] utilisation de preg_replace sur des balises
    Par Kerod dans le forum Langage
    Réponses: 5
    Dernier message: 09/12/2005, 13h46

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