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 29/08/2007, 13h27   #1
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 110
Points : 35
Points : 35
Par défaut Suppression de toutes balises

Bonjour,

Je ne connais pas les regex, sinon de nom, cependant j ai a les utiliser pour vaquer toutes les balises HTML d'un paragraphe. (en php pour la generation d un pdf)
Je me suis documenter sur le sujet, et j arrive a ca, qui selon tous ce que je lis devrait etre bon, mais ne l'est pas.

Code :
$description = ereg_replace('<(.*)>(.*)</(.*)>',"",$tab_datas['description']);
Je suis vraiment pris par le temps pour ce projet, c'est pour cette raison que je me permets de poster pour ce petit probleme. Merci par avance pour vos reponses.
escteban est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 13h32   #2
Membre chevronné
 
Avatar de Death83
 
Inscription : mars 2005
Messages : 1 667
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 667
Points : 746
Points : 746
Code :
1
2
 
$description = preg_replace('<([^>]*)>(.*)</([^>]*)>',"",$tab_datas['description']);

Et avec ca?
__________________
manganimes (en construction) -
zemanga
Death83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 13h40   #3
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 110
Points : 35
Points : 35
Non a mon grand damn pas mieux, une chaine vide est renvoye (ou FALSE ou rien) merci quand meme
escteban est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 13h51   #4
Membre chevronné
 
Avatar de Death83
 
Inscription : mars 2005
Messages : 1 667
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 667
Points : 746
Points : 746
En même temps je sais pas si t'as bien compris comment marchait les REGEX.

Par ce qu'en lisant ton code ca veut dire que tu remplace les element ayant comme structure :

par rien du tout, donc tu suprime tout.

Si ce que tu veut faire c'est supprimer les balise et garder juste le contenu il faut faire :

Code :
1
2
 
$description = preg_replace('!<[^>]*>(.*)</[^>]*>!isU',"$1",$description);
Ou la variable $description contient ta chaine de caractère à traiter.
__________________
manganimes (en construction) -
zemanga
Death83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 14h04   #5
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 110
Points : 35
Points : 35
Je veux bel et bien SUPPRIMER toutes les balises HTML, nah Mais malheuresement ni ce que j'ai ecrit dans le premier post ni ce que tu m as suggere dans le deuxieme ne fonctionne pour betement tout supprimer le balisage HTML. MAY DAY PLEASE
escteban est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 14h31   #6
Membre chevronné
 
Avatar de Death83
 
Inscription : mars 2005
Messages : 1 667
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 667
Points : 746
Points : 746
Bah chez moi ca marche...

Que contient ta varaible description ?
__________________
manganimes (en construction) -
zemanga
Death83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 14h46   #7
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 110
Points : 35
Points : 35
Une chaine de texte formattée en html soit :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
<p><strong>ceci est un teste de demo</strong></p>
<p>nsfjlsdkjgfdsg</p>
<p>sdfgsdfgsd</p>
<p>gfsdfgshggke^yeij yopiejy oeitjy eçuyç_eu-e(_uàç(ejj hpdjrh</p>
<p>ryç_(èe-_èe)yh^ryjr^jrûkjyruryi</p>
<p>sdfgsghsfd</p>
<p>ghdfghdf</p>
<p>ghd</p>
 
<p>fgh</p>
<p>df</p>
<p>ghdfghsfhsdthsgsgghsghsfghsfghsdfghsf</p>
escteban est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 14h52   #8
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 110
Points : 35
Points : 35
Autant pour moi , je viens de me rendre compte de mon erreur , ca marche mlieux comme ca :
Code :
1
2
$description = preg_replace('!<[^>]*>!isU',"",$tab_datas['description']);
$description = preg_replace('!</[^>]*>!isU',"",$description);
Mercia toi pour ton aide
escteban est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 15h07   #9
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

S'il s'agit de virer toutes les balises html, il existe une fonction pour ça : strip_tags().

Exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
  $chaine ='<p><strong>ceci est un teste de demo</strong></p>
            <p>nsfjlsdkjgfdsg</p>
            <p>sdfgsdfgsd</p>
            <p>gfsdfgshggke^yeij yopiejy oeitjy eçuyç_eu-e(_uàç(ejj hpdjrh</p>
            <p>ryç_(èe-_èe)yh^ryjr^jrûkjyruryi</p>
            <p>sdfgsghsfd</p>
            <p>ghdfghdf</p>
            <p>ghd</p>
            <p>fgh</p>
            <p>df</p>
            <p>ghdfghsfhsdthsgsgghsghsfghsfghsdfghsf</p>';
  echo "$chaine<br><br>";
 
  $chaine = strip_tags($chaine);
  echo "$chaine<br><br>";
?>
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 15h21   #10
Membre chevronné
 
Avatar de Death83
 
Inscription : mars 2005
Messages : 1 667
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 667
Points : 746
Points : 746
Citation:
Envoyé par jeca Voir le message
Bonjour,

S'il s'agit de virer toutes les balises html, il existe une fonction pour ça : strip_tags().

Exemple :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
  $chaine ='<p><strong>ceci est un teste de demo</strong></p>
            <p>nsfjlsdkjgfdsg</p>
            <p>sdfgsdfgsd</p>
            <p>gfsdfgshggke^yeij yopiejy oeitjy eçuyç_eu-e(_uàç(ejj hpdjrh</p>
            <p>ryç_(èe-_èe)yh^ryjr^jrûkjyruryi</p>
            <p>sdfgsghsfd</p>
            <p>ghdfghdf</p>
            <p>ghd</p>
            <p>fgh</p>
            <p>df</p>
            <p>ghdfghsfhsdthsgsgghsghsfghsfghsdfghsf</p>';
  echo "$chaine<br><br>";
 
  $chaine = strip_tags($chaine);
  echo "$chaine<br><br>";
?>

Oui c'est vrai

En fait j'ai été perturbé parce que je suis entrain de faire un truc similaire, mais je passe par les REGEX car ca me permet d'agir différement selon les balises. Par exemple td, je fait un espace, tr je remplace par un saut à la ligne.... Parce que le strip_tags va betement retirer toutes les balises...

Et par exemple si tu veut te débarasser du contenu de la balise head dans le cas ou tu lis une page html le striptags t'afficherai alors les meta,les link...


Sinon tu peut réunir tes 2 lignes en une seules (celles que je t'ai donné plus haut).
__________________
manganimes (en construction) -
zemanga
Death83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2007, 15h36   #11
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 110
Points : 35
Points : 35
Merci pour le strip_tag() , je prends note, j aurais gagner bcp de temps a la connaitre cette fameuse fonction
escteban 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 22h58.


 
 
 
 
Partenaires

Hébergement Web