1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    septembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2005
    Messages : 5
    Points : 2
    Points
    2

    Par défaut supprimer <a href...</a> par regex dans pages html.

    Bonjour,
    Je ne suis pas expert en regex et ca fait quelques heures que je me casse la tête pour esssayer de remplacer automatiquement tous les liens dans une page HTML ( de '<a href=....blabla.....jusqua </a>') par rien.
    Quelqu'un aurait t'il une fonction deja prête qui boucle tous les liens d'une page pour les supprimer (la page HTML est contenue dans une variable donc je n'ai pas besoin de fopen pour envoyer le html a la fonction).

    Merci d'avance à tous ceux qui pourront m'aider.
    Julien

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    1 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : août 2005
    Messages : 1 182
    Points : 1 807
    Points
    1 807

    Par défaut

    si tu veux supprimer juste le lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $string = "ton texte";
    $pattern = array("/<a(.[^>])+>/","/<\/a>/");
    $remplacement = array("","");
    echo preg_replace($pattern,$remplacement,$string);
    ;-)
    http://cdemarche.developpez.com/

    Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    septembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2005
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    Merci pour ta réponse mais ca n'a pas l'air de fonctionner et me laisse le HTML tel quel (comme ci je faisais echo $html .
    voici un apercu du code HTML en entrée :
    $test = "blabla <a href=\"http://www.test.com\">texte lien</A> texte qui reste <A href=\"http://www.test2.com\">lein texte 2</A> texte qui reste ";


    Je voudrais seulement garder pour cet exemple : blabla texte qui reste texte qui reste.

    La sortie HTML (afficher source sur I.E) de ton code me donne :
    blabla <a href="http://www.test.com">texte lien</A> texte qui reste<A href="http://www.test2.com">lein texte 2</A> texte qui reste

    Je pense que ta solution pourrait marché mais je suis assez incompétent pour me servir de regex avec preg_replace et adapé ou modifié ce code pour cet exemple.

    Merci beaucoup en tout cas.
    Julien

  4. #4
    Membre régulier Avatar de BGDC
    Profil pro
    Inscrit en
    septembre 2003
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2003
    Messages : 102
    Points : 121
    Points
    121

    Par défaut

    Salut,

    regarde je t'ai trouvé cette page en esperant qu'elle puisse te servir : http://www.phpinfo.net/regex/

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    septembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2005
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    merci de ton aide, j'avais deja trouvé cette page mais je n'arrive pas à modifier l'une de ces fonctions pour l'adapter à mon cas.

    Merci quand même
    Julien

  6. #6
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    1 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : août 2005
    Messages : 1 182
    Points : 1 807
    Points
    1 807

    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $test = "blabla <a href=\"http://www.test.com\">texte lien</a> textes qui reste <a href=\"http://www.test2.com\">lein texte 2</a> texte qui reste";
     
    echo preg_replace("`(<a[^>]*>)(.*)(<\/a>)`Ui", "",$test);
    J'espère que ça te va...
    http://cdemarche.developpez.com/

    Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    septembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2005
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    merci pour ton aide, j'ai testé mais ca n'a pas l'air de fonctionner, la sortie affiche le code sans aucun changement, as tu une idée ?

    Julien

  8. #8
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    1 182
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : août 2005
    Messages : 1 182
    Points : 1 807
    Points
    1 807

    Par défaut

    non je ne vois pas, chez moi , ça fonctionne avec PHP5
    je ne sais pas trop si ça joue... mais je crois qu'il faut faire gaffe aux quotes quand tu utilises les regexp PCRE
    http://cdemarche.developpez.com/

    Tu as la réponse à ta question ? N'oublies pas le petit en bas à gauche de ton message...

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    septembre 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Secteur : Arts - Culture

    Informations forums :
    Inscription : septembre 2005
    Messages : 90
    Points : 122
    Points
    122

    Par défaut

    On va essayer plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $test = "blabla <a href=\"http://www.test.com\">texte lien</a> texte qui reste <a href=\"http://www.test2.com\">lien texte 2</a> texte qui reste ";
    $test = preg_replace("/<a href(.*?)<\/a>/si", "", $test);

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    septembre 2005
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2005
    Messages : 5
    Points : 2
    Points
    2

    Par défaut

    nikel ca marche d'enfer.
    Merci Merci Merci beaucoup pour ton aide !

    A+
    Julien

  11. #11
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    avril 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : avril 2005
    Messages : 27
    Points : 23
    Points
    23

    Par défaut

    Merci ! 7 ans après, ça m'a aidé !!!!

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

Discussions similaires

  1. ouvrir page par menu dans page courante
    Par laurentSc dans le forum WordPress
    Réponses: 12
    Dernier message: 25/06/2014, 12h33
  2. Réponses: 7
    Dernier message: 08/01/2013, 18h33
  3. Recherche par regex dans un TreeMap
    Par Pietke dans le forum Langage
    Réponses: 3
    Dernier message: 03/10/2011, 13h45
  4. [PHP 5.2] regex replacer mots par lien dans page html
    Par AudeB dans le forum Regex
    Réponses: 3
    Dernier message: 05/11/2010, 13h20
  5. Réponses: 4
    Dernier message: 15/12/2003, 17h46

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