Comment interpréter du HTML?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Comment interpréter du HTML?

Re: Comment interpréter du HTML?

par Sebastien » 13 avr. 2012, 23:30

OUps j'ai été déconnecté a la validation : la suite est là : php-avance/comment-interpreter-html-t26 ... ml#p385373

Re: Comment interpréter du HTML?

par slhuilli1 » 13 avr. 2012, 23:27

En définitive, ce que tu sembles vouloir, c'est un affichage correct à l'écran.

Pas tout à fait : le veux du "texte brut" pour le balancer dans un fichier XML en UTF-8 de préférence


Il faudrait pour cela que le texte initial soit codé de façon cohérente:
Région et de publié : par exemple ont mal leur place dans un texte entièrement codé &machin;

Tout à fait d'accord mais comme je le disais, cela vient de ma version de FCKEditor. Un mauvais choix (en fait au depart, je n'avais pas a faire ce flux !)

Deuxième point :
Si tu peux prévoir les textes, Bluefish fait d'excellentes conversions (et surtout réversibles) -> Malheureusement je ne peux pas !

str_replace('"', "'", $str); // pourquoi pas
$a = htmlentities($str); // certes, mais ça ne vient pas à bout de Région et de publié par
$b = html_entity_decode($a); // impeccable chez moi à l'écran


$b = preg_replace('@<[^>]*?>.*?>@si', '', $str); // tu opères sur la chaîne initiale


echo strip_tags(html_entity_decode($b))."<br>"; // en se mettant en ISO-8859-??, ça fonctionne...

En revanche, le texte, dont l'auteur se cache sous un pudique anonymat, est farci de fautes d'orthographe et de grammaire élémentaire:
Patrimoine Vivant<!--s retiré-->
<!-- article retiré, car l'apposition ne prend pas l'article en français une-->
distinction nationale
savoir-faire r&eacute;gional<!--e retiré--> en mati&egrave;re de menuiserie
en si&egrave;ges <!-- s ajouté -->,
<!-- de ces simplifié--> des entreprises prestigieuses
photographi&eacute;es, <!-- inutile que sont-->
et, quelque part, a pour à.
J em'autorise cette remarque car, si c'était une annonce pourune manifestation anti-culturelle, on comprendrait mieux que l'image qu'on fournit de la collectivité soit sous une forme non-standard.
-> je sais c'est pas en prod ca, c'est du test. Mais je suis entièrement d'accord

Re: Comment interpréter du HTML?

par sirakawa » 01 avr. 2012, 12:01

En définitive, ce que tu sembles vouloir, c'est un affichage correct à l'écran.
Il faudrait pour cela que le texte initial soit codé de façon cohérente:
Région et de publié : par exemple ont mal leur place dans un texte entièrement codé &machin;
Deuxième point :
Si tu peux prévoir les textes, Bluefish fait d'excellentes conversions (et surtout réversibles)

str_replace('"', "'", $str); // pourquoi pas
$a = htmlentities($str); // certes, mais ça ne vient pas à bout de Région et de publié par
$b = html_entity_decode($a); // impeccable chez moi à l'écran


$b = preg_replace('@<[^>]*?>.*?>@si', '', $str); // tu opères sur la chaîne initiale


echo strip_tags(html_entity_decode($b))."<br>"; // en se mettant en ISO-8859-??, ça fonctionne...

En revanche, le texte, dont l'auteur se cache sous un pudique anonymat, est farci de fautes d'orthographe et de grammaire élémentaire:
Patrimoine Vivant<!--s retiré-->
<!-- article retiré, car l'apposition ne prend pas l'article en français une-->
distinction nationale
savoir-faire r&eacute;gional<!--e retiré--> en mati&egrave;re de menuiserie
en si&egrave;ges <!-- s ajouté -->,
<!-- de ces simplifié--> des entreprises prestigieuses
photographi&eacute;es, <!-- inutile que sont-->
et, quelque part, a pour à.
J em'autorise cette remarque car, si c'était une annonce pourune manifestation anti-culturelle, on comprendrait mieux que l'image qu'on fournit de la collectivité soit sous une forme non-standard.

Re: Comment interpréter du HTML?

par Berzemus » 31 mars 2012, 08:49

Juste pour tester, tu pourrais nous placer quelque part la page HTML entière telle que générée par le code ? J'aimerais juste vérifier que l'encodage qu'elle renseigne (par meta tag) correspond bien à celui qui est utilisé.

Re: Comment interpréter du HTML?

par Sebastien » 30 mars 2012, 23:27

J'ai oublié de préciser : en regardant de pres, il reste des

Code : Tout sélectionner

&eacute;
et autres

Code : Tout sélectionner

&rsquo;
Si vous saviez comment "interpréter" ces code pour les avoir en UTF-88, ca m'interesse.....

Re: Comment interpréter du HTML?

par Sebastien » 30 mars 2012, 23:24

Apres lecture de vos aides ett travail, voici le code que j'ai :

Code : Tout sélectionner

$str = "<img src='images/stylo.png' border=0><br>Descriptif</td><td width='95%' colspan=5><p>&nbsp;La R&eacute;gion Lorraine est partenaire de l&rsquo;exposition &laquo;&nbsp;L&rsquo;Art du Geste, Menuiserie en si&egrave;ges&nbsp;&raquo; qui se tiendra du 24 mars au 21 avril 2012 au Trait d&rsquo;Union &ndash; Espace Culturel Fran&ccedil;ois Mitterand &agrave; Neufch&acirc;teau.</p> <p>L&rsquo;exposition se compose de photographies de Pascal Bodez r&eacute;alis&eacute;es dans cinq entreprises&nbsp;du bassin vosgien labellis&eacute;es Entreprise du Patrimoine Vivants (EPV), une distinction nationale r&eacute;compensant les entreprises aux savoir-faire d&rsquo;excellence. <br /> V&eacute;ritable reflet du savoir-faire r&eacute;gionale en mati&egrave;re de menuiserie en si&egrave;ge, le travail photographique est compl&eacute;t&eacute; par la pr&eacute;sence de v&eacute;ritables pi&egrave;ces de ma&icirc;tres de ces entreprises prestigieuses photographi&eacute;es que sont l&rsquo;Atelier Henryot & Pozzoli, Chemin Sarl, la maison Delaroux, la manufacture Henryot & Cie et la soci&eacute;t&eacute;&nbsp;Laval S.A.</p> <p>Le vernissage de l&rsquo;exposition aura lieu le samedi 24 mars 2012 &agrave; 16h &agrave; l&rsquo;occasion de la remise du label &lsquo;Ville des m&eacute;tiers d&rsquo;art&rsquo; par la d&eacute;l&eacute;gation nationale des villes d&rsquo;arts aux communes de Neufch&acirc;teau et Liffol le Grand.</p> <p>A cette occasion, trois Meilleurs Ouvriers de France (MOF) lorrains seront pr&eacute;sents&nbsp;: Robert Bastien, &eacute;b&eacute;niste d&rsquo;art, Thierry Chopin, sculpteur sur bois et Jean-Pierre Lengrand, menuisier en si&egrave;ge. Les &eacute;l&egrave;ves du lyc&eacute;e du bois de Neufch&acirc;teau r&eacute;aliseront &eacute;galement des d&eacute;monstrations tout au long des deux derniers weekends de mars.</p></td></tr><tr><td width='5%' class='legende'><img src='images/homme.png' border=0><br>Organisateur</td><td width='95%' colspan=5>Région Lorraine</td></tr><tr><td width='5%' class='legende'><img src='images/web.png' border=0><br>Site web</td><td width='95%' colspan=5><i><b><a href='' target='_blank'></a></i></b></td></tr><tr><td width='5%' class='legende'><img src='images/homme_rouge.png' border=0><br>Publié par</td><td width=95% colspan=5><i><b> Aujourdhuianancy.com</i></b></td></tr></table></td> </tr> </table> </td></tr> <tr class='trCopyright'><td> <table width='100%'><tr> <td align='left'>, 2009. Site h&eacute;berg&eacute; chez <a href='notre_hebergeur.php5'>Notre hebergeur</td>"; //Si le code contient des double cotes, ca fout le bronx. Je les remplace par des simples cotes str_replace('"', "'", $str); $a = htmlentities($str); $b = html_entity_decode($a); $b = preg_replace('@<[^>]*?>.*?>@si', '', $str); echo strip_tags(html_entity_decode($b))."<br>";


et la réponse, l'interprétation :

Code : Tout sélectionner

Descriptif Véritable reflet du savoir-faire régionale en matière de menuiserie en siège, le travail photographique est complété par la présence de véritables pièces de maîtres de ces entreprises prestigieuses photographiées que sont l&rsquo;Atelier Henryot & Pozzoli, Chemin Sarl, la maison Delaroux, la manufacture Henryot & Cie et la société Laval S.A.Le vernissage de l&rsquo;exposition aura lieu le samedi 24 mars 2012 à 16h à l&rsquo;occasion de la remise du label &lsquo;Ville des métiers d&rsquo;art&rsquo; par la délégation nationale des villes d&rsquo;arts aux communes de Neufchâteau et Liffol le Grand.A cette occasion, trois Meilleurs Ouvriers de France (MOF) lorrains seront présents : Robert Bastien, ébéniste d&rsquo;art, Thierry Chopin, sculpteur sur bois et Jean-Pierre Lengrand, menuisier en siège. Les élèves du lycée du bois de Neufchâteau réaliseront également des démonstrations tout au long des deux derniers weekends de mars. Aujourdhuianancy, 2009. Site hébergé chez
Désormais, auriez vous des idées pour que TOUTES les entités soient interprétées ?

Merci a vous tous

Re: Comment interpréter du HTML?

par Sebastien » 30 mars 2012, 22:48

Fichier enregistré avec quel encodage ?
php.ini configuré pour quel encodage ?
Le projet Netbeans est en UTF-8

Re: Comment interpréter du HTML?

par Sebastien » 30 mars 2012, 22:33

Fichier enregistré avec quel encodage ?
php.ini configuré pour quel encodage ?
Honnêtement j'ai pas regardé mais si c'est juste un probleme d'encodage c'est pas grand choses....

Re: Comment interpréter du HTML?

par sirakawa » 29 mars 2012, 17:59

quant à moi avec strip_tags
$cible = strip_tags ($str);
j'obtiens:
J'ai "sorti" le chien tout à l heure (avec chien en gras)
devient
J'ai "sorti" le chien tout à l heure (avec chien en normal)

Re: Comment interpréter du HTML?

par Berzemus » 29 mars 2012, 10:55

Ah ben oui, et pis sous quel encodage la page est-elle interprétée par le navigateur ?

Re: Comment interpréter du HTML?

par xTG » 29 mars 2012, 09:44

Fichier enregistré avec quel encodage ?
php.ini configuré pour quel encodage ?

Re: Comment interpréter du HTML?

par Sebastien » 29 mars 2012, 06:40

bonjour, désolé pour ma réponse assez courte et qui peu paraitre sèche mais depuis mon telephone portable, je restreints les mots....

J'aurais d^vous préciser où j'en étais et j'ai complètement pas pensé à le faire hier....

voila ce que j'ai déjà trouvé mais incomplet :

Code : Tout sélectionner

<?PHP $str = ' J\'ai "sorti" le <strong>chien</strong> tout à l heure'; $a = htmlentities($str); $b = html_entity_decode($a); $b = preg_replace('@<[^>]*?>.*?>@si', '', $str); echo $b."<br>"; ?>
et voilà ce que l'obtiens : J'ai "sorti" le tout � l heure (en UTF-8 ou en ISO 8859, le à ne passe pas !)

pour le reste ca m'a pas l'air mauvais...

Re: Comment interpréter du HTML?

par Sebastien » 29 mars 2012, 06:18

Bonjour

si je pose la question c est que toutes les fonctions que vous avez cité ci dessus ne repondent abslument pas a mon probleme. ...

Re: Comment interpréter du HTML?

par sirakawa » 28 mars 2012, 17:03

Tellement banal que, si le texte comprend un simple <b>....</b>, celui-ci survit à html_entity_decode.
Heureusement qu'il ya strip_tags pour compléter...

Re: Comment interpréter du HTML?

par Berzemus » 28 mars 2012, 09:21

Regardes la fonction html_entity_decode(). :)
Comme le dit xTG sans le dire, je ne sais pas sur quels forums tu as été, mais le problème est somme toute fort banal.