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 :

supprimer <a href...</a> par regex dans pages html. [RegEx]


Sujet :

Langage PHP

  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 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    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);
    ;-)

  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/
    Bon allez, cette fois c'est sur, ça marche........bon aller je réessaye......

  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 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    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...

  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 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

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

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    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

  9. #9
    Membre actif
    Homme Profil pro
    PDG
    Inscrit en
    Septembre 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : PDG
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2005
    Messages : 101
    Points : 225
    Points
    225
    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 : 24
    Points
    24
    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. [RegEx] regex replacer mots par lien dans page html
    Par AudeB dans le forum Langage
    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