Précédent   Forum du club des développeurs et IT Pro > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 27/09/2005, 12h45   #1
moldak
Invité de passage
 
Inscription : septembre 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 5
Points : 1
Points : 1
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
moldak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2005, 14h22   #2
ska_root
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 182
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 43
Localisation : France

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

Informations forums :
Inscription : août 2005
Messages : 1 182
Points : 1 784
Points : 1 784
si tu veux supprimer juste le lien :
Code :
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...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2005, 14h46   #3
moldak
Invité de passage
 
Inscription : septembre 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 5
Points : 1
Points : 1
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
moldak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2005, 15h34   #4
BGDC
Membre habitué
 
Avatar de BGDC
 
Inscription : septembre 2003
Messages : 102
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 102
Points : 108
Points : 108
Salut,

regarde je t'ai trouvé cette page en esperant qu'elle puisse te servir : http://www.phpinfo.net/regex/
BGDC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/09/2005, 20h26   #5
moldak
Invité de passage
 
Inscription : septembre 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 5
Points : 1
Points : 1
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
moldak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2005, 00h45   #6
ska_root
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 182
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 43
Localisation : France

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

Informations forums :
Inscription : août 2005
Messages : 1 182
Points : 1 784
Points : 1 784
Code :
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...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2005, 00h50   #7
moldak
Invité de passage
 
Inscription : septembre 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 5
Points : 1
Points : 1
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
moldak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2005, 01h00   #8
ska_root
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 182
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 43
Localisation : France

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

Informations forums :
Inscription : août 2005
Messages : 1 182
Points : 1 784
Points : 1 784
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...
ska_root est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2005, 03h05   #9
dasdeb
Membre habitué
 
Homme Lionel Lebeau
Inscription : septembre 2005
Messages : 80
Détails du profil
Informations personnelles :
Nom : Homme Lionel Lebeau
Âge : 52
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2005
Messages : 80
Points : 100
Points : 100
On va essayer plus simple:
Code :
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);
dasdeb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/09/2005, 03h28   #10
moldak
Invité de passage
 
Inscription : septembre 2005
Messages : 5
Détails du profil
Informations forums :
Inscription : septembre 2005
Messages : 5
Points : 1
Points : 1
nikel ca marche d'enfer.
Merci Merci Merci beaucoup pour ton aide !

A+
Julien
moldak est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/11/2012, 16h02   #11
robomatix
Invité régulier
 
Homme
Inscription : avril 2005
Messages : 16
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2005
Messages : 16
Points : 6
Points : 6
Envoyer un message via Skype™ à robomatix
Merci ! 7 ans après, ça m'a aidé !!!!
robomatix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 09h37.


 
 
 
 
Partenaires

Hébergement Web