Regexp remplacement de chaîne dans certains cas

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par UsagiYojimbo, 19 Janvier 2007.

  1. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 979
    J'aime reçus:
    121
    Voilà je cherche à faire la chose suivante : supprimer dans une chaine toute occurence d'un couple de balise et leur contenu par une chaine vide.

    Du genre

    <debut><test><div>test</div></test></debut>

    deviendrait

    <debut></debut>

    J'utilise la regexp suivante :

    Code:
    $zone_html_modifiee = preg_replace("#(<test>)(.*)(</test>)#", "", $zone_html_modifiee);
    
    Mais ca ne fonctionne pas.

    Une idée ?
     
  2. fablezouave
    fablezouave WRInaute discret
    Inscrit:
    20 Décembre 2006
    Messages:
    106
    J'aime reçus:
    0
    salut

    Ta REGEX marche bien pour le bout de code que tu indique ...

    Code:
    <?php
    $zone_html_modifiee = '<debut><test><div>test</div></test></debut> ';
    $zone_html_modifiee = preg_replace("#<test>(.*)</test>#", "", $zone_html_modifiee); 
    
    // affiche bien <debut></debut>
    echo htmlspecialchars($zone_html_modifiee);
    ?> 
    
    Apres, évidemment, si tu as plusieurs fois cette occurence dans ta chaîne de départ, il faut interdire la gourmandise naturelle des REGEX dans ton masque de recherche :

    Code:
    <?php
    $zone_html_modifiee = '<debut><test><div>test</div></test></debut> ';
    $zone_html_modifiee = preg_replace("#<test>(.*?)</test>#", "", $zone_html_modifiee); 
    echo htmlspecialchars($zone_html_modifiee);
    ?> 
    
    Note le ?, qui interdit la gourmandise au coup par coup, sinon tu peux également utiliser l'option ##U, qui s'appliquera au masque entier.

    edit : les parenthèses sur <test> sont inutiles

    fab
     
  3. UsagiYojimbo
    UsagiYojimbo WRInaute accro
    Inscrit:
    23 Novembre 2005
    Messages:
    11 979
    J'aime reçus:
    121
    ...

    ... merci à toi. Ca marche :)
     
Chargement...
Similar Threads - Regexp remplacement chaîne Forum Date
RegExp du Rewrite URL Rewriting et .htaccess 19 Décembre 2019
Expression régulière MySql REGEXP pour transformer des liens Développement d'un site Web ou d'une appli mobile 26 Septembre 2011
Gestion des variables regexp Développement d'un site Web ou d'une appli mobile 23 Juillet 2011
[PHP] Comment valider une regexp Développement d'un site Web ou d'une appli mobile 9 Juin 2010
regexp : téléphone Développement d'un site Web ou d'une appli mobile 13 Avril 2010
pas compris ce code REGEXP Administration d'un site Web 10 Février 2010
Probleme 2 condition SQL regexp ou like Développement d'un site Web ou d'une appli mobile 27 Juin 2009
regexp URL Rewriting et .htaccess 20 Juin 2009
Requete sql avec REGEXP Problèmes de référencement spécifiques à vos sites 4 Juin 2009
regexp possible ou pas Développement d'un site Web ou d'une appli mobile 11 Mars 2009
Regexp test marche mais pas le lien réel URL Rewriting et .htaccess 18 Août 2008
(je me noie) Pour les pros des REGEXP Développement d'un site Web ou d'une appli mobile 23 Mars 2008
[RegExp] Détecter toutes sortes de liens Développement d'un site Web ou d'une appli mobile 1 Avril 2007
Probleme Url rewriting+regexp URL Rewriting et .htaccess 23 Mars 2007
Regexp toute bête Développement d'un site Web ou d'une appli mobile 10 Janvier 2007
Problème regexp pour parser fichier html Développement d'un site Web ou d'une appli mobile 28 Décembre 2006
Souci de regexp pour traitement de code html Développement d'un site Web ou d'une appli mobile 26 Décembre 2006
Petit probleme regexp Développement d'un site Web ou d'une appli mobile 23 Août 2006
Aux pros de la regexp Développement d'un site Web ou d'une appli mobile 3 Août 2006
[résolu] mysql et regexp Développement d'un site Web ou d'une appli mobile 3 Août 2006