Précédent   Forum des professionnels en informatique > 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 Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 27/09/2005, 12h45   #1
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
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

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

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
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
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
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
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
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

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

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
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
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
Membre Expert
 
Avatar de ska_root
 
Homme
Développeur informatique
Inscription : août 2005
Messages : 1 179
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 42
Localisation : France

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

Informations forums :
Inscription : août 2005
Messages : 1 179
Points : 1 580
Points : 1 580
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
Membre régulier
 
Homme Lionel Lebeau
Inscription : septembre 2005
Messages : 76
Détails du profil
Informations personnelles :
Nom : Homme Lionel Lebeau
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2005
Messages : 76
Points : 94
Points : 94
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
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
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h25.


 
 
 
 
Partenaires

Hébergement Web