PHP/XML comment supprimer les balises HTML
Dernière réponse : dans Programmation
Bonsoir à tous,
J'ai fait réaliser un petit script qui extrait des données de ma BDD mySQL.
Ce dernier génère un fichier avec une extension .xml contenant les éléments suivants, " Titre, Description, URL annonce, Url photo, Prix, Localité "
Malheureusement au niveau de la description j'ai un gros soucis avec les balises HTML .. Les descriptions des articles présents sur mon site, sont pour la plupart mis en page avec du HTML et toutes les balises se retrouvent sur mon fichier XML, hors qu'il aurait fallu faire en sorte d'éliminer les balises HTML pour ne sortir que du texte brute.
Existe t'il une formule "miracle" et pas trop compliquée à mettre en place pour que mon fichier de sorti XML soit débarrassé des balises HTML ?
Merci par avance pour votre aide.
J'ai fait réaliser un petit script qui extrait des données de ma BDD mySQL.
Ce dernier génère un fichier avec une extension .xml contenant les éléments suivants, " Titre, Description, URL annonce, Url photo, Prix, Localité "
Malheureusement au niveau de la description j'ai un gros soucis avec les balises HTML .. Les descriptions des articles présents sur mon site, sont pour la plupart mis en page avec du HTML et toutes les balises se retrouvent sur mon fichier XML, hors qu'il aurait fallu faire en sorte d'éliminer les balises HTML pour ne sortir que du texte brute.
Existe t'il une formule "miracle" et pas trop compliquée à mettre en place pour que mon fichier de sorti XML soit débarrassé des balises HTML ?
Merci par avance pour votre aide.
Autres pages sur : php xml supprimer balises html
Lassé par la pub ? Créez un compte
Bonjour,
utilise les regex de PHP pour récupérer ton info et la modifier pour la débarrasser de tout code inutile. Voir ici.
Avec ca tu devrais t'en sortir
@+
utilise les regex de PHP pour récupérer ton info et la modifier pour la débarrasser de tout code inutile. Voir ici.
Avec ca tu devrais t'en sortir
@+
Bonjour Crazycat@idn,
J'ai potassé un peu les explications sur le site du zéro mais c'est hard et aussi mis en place ta fonction, mais sans résultat.
Ma description sur mon fichier .php apparait comme ceci
<description>'.$row['description'].'</description>
J'ai beau placer du code, avant, après, rien ne se passe
A+
J'ai potassé un peu les explications sur le site du zéro mais c'est hard et aussi mis en place ta fonction, mais sans résultat.
Ma description sur mon fichier .php apparait comme ceci
<description>'.$row['description'].'</description>
J'ai beau placer du code, avant, après, rien ne se passe
A+
pourquoi ne pas utilisé htmlspecialchars() ???
http://www.php.net/manual/fr/function.htmlspecialchars....
http://www.php.net/manual/fr/function.htmlspecialchars....
Hello,
Et bien ce n'est pas gagné mon affaire, avec les codes proposés j'ai des erreurs
avec htmlspecialchars() je n'ai pas plus de résultat, mais la encore il est fort possible que je ne mette pas le code au bon endroit.
Mon fichier complet est à cette adresse, il sera certainement plus simple de voir le code en entier http://www.megaupload.com/?d=LNT4VZGV
Merci par avance de votre coup de main !
++
Et bien ce n'est pas gagné mon affaire, avec les codes proposés j'ai des erreurs
avec htmlspecialchars() je n'ai pas plus de résultat, mais la encore il est fort possible que je ne mette pas le code au bon endroit.
Mon fichier complet est à cette adresse, il sera certainement plus simple de voir le code en entier http://www.megaupload.com/?d=LNT4VZGV
Merci par avance de votre coup de main !
++
andrelec1 a dit :
pourquoi ne pas utilisé htmlspecialchars() ???http://www.php.net/manual/fr/function.htmlspecialchars....
Parce qu'il veut retirer les balises html et pas convertir les caractères "spéciaux" en entitées html, non ?
dudulix a dit :
Et bien ce n'est pas gagné mon affaire, avec les codes proposés j'ai des erreurs
Quelles erreurs ? Ca peut aider à comprendre.
Merci de ne pas utiliser megaupload pour envoyer un symple fichier php.
N'ayant pas ta base de données, donc tes contenus, j'ai fait dans ton code les modifs qui me semblaient logique: http://pastebin.com/wjsyv9aY
Tu noteras donc l'utilisation du preg_replace et l'ajout d'un <![CDATA[ ... ]]>
Hello,
Désolé pour megaupload, j'ai en fait pris le premier qui me passait par la tête.
Pour les erreurs elles étaient de type parse error, donc certainement une guillemet ou un point virgule mal placé.
Merci de t'être penché sur mon fichier, que je me suis empressé de mettre en place, mais hélas j'ai toujours le même résultat au niveau de la description et des balises html.
Ci-dessous un extrait du fichier xml généré pour la partie description
il est tenace le html
je continu de mon coté à faire des modifs, un peu à l'aveuglette.
++
Désolé pour megaupload, j'ai en fait pris le premier qui me passait par la tête.
Pour les erreurs elles étaient de type parse error, donc certainement une guillemet ou un point virgule mal placé.
Merci de t'être penché sur mon fichier, que je me suis empressé de mettre en place, mais hélas j'ai toujours le même résultat au niveau de la description et des balises html.
Ci-dessous un extrait du fichier xml généré pour la partie description
<br><p><span style='font-weight: bold; font-size: 16pt;'>Un russissant anglais au 16e-17e siècle. Richard James. (1592-1638). </span></p><br><p><span style='color: rgb(72, 61, 139); font-weight: bold; font-size: 12pt;'>Référence stock:</span> 21481</p><p><span style='color: rgb(128, 0, 0); font-weight: bold; font-size: 12pt;'>Auteur: </span> PSALMON Frédéric</p><p><span style=' font-weight: bold; font-size: 12pt; color: rgb(128, 0, 0);'>Commentaires Bibliographiques: </span> Article extrait du Bulletin de Géographie Historique et Descriptive. </p><p><span style=' font-weight: bold; font-size: 12pt; color: rgb(128, 0, 0);'>Préface / Traducteur / Illustrateur: </span> </p><p><span style=' font-weight: bold; font-size: 12pt; color: rgb(128, 0, 0);'>Éditeur: </span> </p><p><span style=' font-weight: bold; font-size: 12pt; color: rgb(128, 0, 0);'>Collection: </span> </p><p><span style=' font-weight: bold; font-size: 12pt; color: rgb(128, 0, 0);'>Année: </span> 1911. </p><p><span style=' font-weight: bold; font-size: 12pt; color: rgb(128, 0, 0);'>Description / État: </span> Broché. 54 pages. Couverture factice. Petite déchirure en bas de page. </p><p><span style=' font-weight: bold; font-size: 12pt; color: rgb(128, 0, 0);'>Thèmes de l'ouvrage: </span> LANGUE-LINGUISTIQUE,RUSSIE</p><p><span style=' font-weight: bold; font-size: 12pt; color: rgb(128, 0, 0);'>ISBN: </span> </p><br><br>
il est tenace le html
je continu de mon coté à faire des modifs, un peu à l'aveuglette.
++
Hi,
Bien en faite c'est ceci que je souhaiterai avoir,
uniquement du texte, dépourvu de balises html ou autres mises en formes
Bien en faite c'est ceci que je souhaiterai avoir,
Un russissant anglais au 16e-17e siècle. Richard James. (1592-1638).
Référence stock: 21481
Auteur: PSALMON Frédéric
Commentaires Bibliographiques: Article extrait du Bulletin de Géographie Historique et Descriptive.
Préface / Traducteur / Illustrateur:
Éditeur:
Collection:
Année: 1911.
Description / État: Broché. 54 pages. Couverture factice. Petite déchirure en bas de page.
Thèmes de l'ouvrage: LANGUE-LINGUISTIQUE,RUSSIE
ISBN:
uniquement du texte, dépourvu de balises html ou autres mises en formes
C'est ce que j'obtiens. Regarde donc http://www.g33k-zone.org/test/test2.php, c'est le code que j'ai mis sur pastebin
Une question totalement stupide: est-ce que ce qui est enregistré en base ne serait pas converti en entitées html ?
Si oui, il faut faire un html_entity_decode() sur la description pour que ça fonctionne.
Essaye avec le code qui est à http://pastebin.com/rppfB3qX
Si oui, il faut faire un html_entity_decode() sur la description pour que ça fonctionne.
Essaye avec le code qui est à http://pastebin.com/rppfB3qX
Salut crazycat@idn,
Ca fonctionne beaucoup plus mieux meilleur .. MERCI INFINIMENT !
par contre mes apostrophes et certains caractères accentués ne s'affichent pas correctement, et en modifiant le charset en UTF-8 cela provoque une Erreur d'analyse XML : mal formé
réalisateur
n’ ;a
d'emballage
alors j'ai donc essayé d'inclure ce petit monde dans preg_replace
vous imaginez déjà le résultat
Ca fonctionne beaucoup plus mieux meilleur .. MERCI INFINIMENT !
par contre mes apostrophes et certains caractères accentués ne s'affichent pas correctement, et en modifiant le charset en UTF-8 cela provoque une Erreur d'analyse XML : mal formé
réalisateur
n’ ;a
d'emballage
alors j'ai donc essayé d'inclure ce petit monde dans preg_replace
vous imaginez déjà le résultat
Surtout pas dans le preg_replace !
Je suis étonné pour le é qui devrait normalement être transformé en "é" par le html_entity_decode()...
Quoi qu'il en soit, il faudrait ajouter une ligne, après le $description = preg_replace(...); :
Je suis étonné pour le é qui devrait normalement être transformé en "é" par le html_entity_decode()...
Quoi qu'il en soit, il faudrait ajouter une ligne, après le $description = preg_replace(...); :
$description = str_replace(array('é', '’', '''), array("é", "'", "'"), $description);
SUPER, d'ailleurs il y avait également les caractères ci-dessous qui ne passaient pas
& #8217;
& nbsp;
& #65533;½'
& Eacute;
& amp;
là c'est dans mes cordes au niveau de la compréhension, j'ai ajouté les caractères manquants à la suite dans le code
Il me reste 3 - 4 soucis à régler sur ce fichier, mais je ne voudrais pas abuser non plus de ton temps et de ta gentillesse.
++
& #8217;
& nbsp;
& #65533;½'
& Eacute;
& amp;
là c'est dans mes cordes au niveau de la compréhension, j'ai ajouté les caractères manquants à la suite dans le code
Il me reste 3 - 4 soucis à régler sur ce fichier, mais je ne voudrais pas abuser non plus de ton temps et de ta gentillesse.
++
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :