PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.php > PHP et TIDY mais surout TIDY
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
PHP et TIDY mais surout TIDY

Réponse
 
LinkBack Outils de la discussion
Vieux 04/09/2007, 12h30   #1 (permalink)
Etienne SOBOLE
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut PHP et TIDY mais surout TIDY

Salut j'utilise tidy pour remettre en forme des pages HTML,
mon tableau de conf est celui-ci

$tidy_config = array(
'char-encoding' => 'utf8',
'input-encoding' => 'utf8',
'output-encoding' => 'utf8',
'output-xhtml' => TRUE,
'ident' => true,
'wrap' => 0
);


la problème est que lorsque j'ai un caractère accentué (par exemple) tidy
s'attend a le trouver en utf8 (ce qui est normal vu que ma page est en utf8)
sauf que parfois le caractère accentue est escapé en HTML ´ par
exemple et la rien ne va plus !
tidy n'arrive pas a remplacer ce caractère escapé par son equivalent UTF8 et
me renvoit un fichier plus ou moins foireux qui au final ne passe pas dans
un parser XML du php.

Quelqu'un a une idée, sauf a coder moi meme la fonction qui decode les
caractère escapé...
pour info, je ne peux évidement pas utiliser la fonction html_entity_decode
qui va aussi me decoder les caractère & !!!

Etienne
  Réponse avec citation
Vieux 04/09/2007, 14h17   #2 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: PHP et TIDY mais surout TIDY

Le 04/09/2007 13:30, Etienne SOBOLE a écrit :
>
> [le] problème est que lorsque j'ai un caractère accentué (par exemple) tidy
> s'attend a le trouver en utf8 (ce qui est normal vu que ma page est en utf8)
> sauf que parfois le caractère accentue est escapé en HTML ´ par
> exemple et la rien ne va plus !
> [...]
>
> pour info, je ne peux évidement pas utiliser la fonction html_entity_decode
> qui va aussi me decoder les caractère & !!!


Sauf erreur, il te suffit d'appeler en séquence html_entity_decode et
htmlspecialchars, dans un sens ou dans l'autre, pour décoder les
caractères accentués mais pas les caractères spéciaux.
  Réponse avec citation
Vieux 05/09/2007, 11h39   #3 (permalink)
Etienne SOBOLE
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: PHP et TIDY mais surout TIDY

> Sauf erreur, il te suffit d'appeler en séquence html_entity_decode et
> htmlspecialchars, dans un sens ou dans l'autre, pour décoder les
> caractères accentués mais pas les caractères spéciaux.


Hum ben non.
si tu html_entity_decode tu vas transformer les $lt; en <
et la c'est fouttu !!!

nan ben en fait je codé la fonction a la main...
ca marche pas trop mal.

tidy c'est bien, mais c'est pas non plus parfait !!!
j'ai trouvé un site ou le gars avait mis une balide <script>
il ne l'as pas fermé et derriere il a mis une balide <meta>

et ben les navigateurs vont ignorr la balise <script> alors que tidy va
encoder byzarrement d'ailleurs tout ce qu'il y a derriere la balise <script>

Bon voila.
ca reste quand meme un oulit sympa

a+
Etienne
  Réponse avec citation
Vieux 06/09/2007, 11h33   #4 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: PHP et TIDY mais surout TIDY

Le 05/09/2007 12:39, Etienne SOBOLE me répondait :
>
> Hum ben non.
> si tu html_entity_decode tu vas transformer les $lt; en <
> et là c'est foutu !!!


Les « &lt; », je suppose. Mais tu as raison, ça ne marche pas.

> nan ben en fait j'ai codé la fonction a la main...
> ca marche pas trop mal.


Ok.

> tidy c'est bien, mais c'est pas non plus parfait !!!
> j'ai trouvé un site où le gars avait mis une balise <script>
> il ne l'as pas fermée et derrière il a mis une balise <meta>
>
> eh ben les navigateurs vont ignorer la balise <script> alors que tidy va
> encoder bizarrement d'ailleurs tout ce qu'il y a derrière la balise <script>


Comme on dit, « Garbage In, Garbage Out ». Je ne vois pas pourquoi
tous les navigateurs réagiraient comme tu le dis à ce code incorrect.
Certains pourraient parfaitement faire comme tidy, et interpréter
bizarrement tout ce qui (selon eux) se trouve dans un élément script.
  Réponse avec citation
Vieux 06/09/2007, 14h32   #5 (permalink)
Etienne SOBOLE
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: PHP et TIDY mais surout TIDY

> Comme on dit, « Garbage In, Garbage Out ». Je ne vois pas pourquoi
> tous les navigateurs réagiraient comme tu le dis à ce code incorrect.
> Certains pourraient parfaitement faire comme tidy, et interpréter
> bizarrement tout ce qui (selon eux) se trouve dans un élément script.


Ah oui, il pourrait, mais ca semble pas être le cas.
enfin bon pas tres grave.
ca ne touche que tres peu de pages, qui passent donc a la trappe d'une
remise en forme !!!

Etienne
  Réponse avec citation
Vieux 06/09/2007, 15h19   #6 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: PHP et TIDY mais surout TIDY

Le 06/09/2007 12:33, Olivier Miakinen a écrit :
>>
>> Hum ben non.
>> si tu html_entity_decode tu vas transformer les $lt; en <
>> et là c'est foutu !!!

>
> Les « &lt; », je suppose. Mais tu as raison, ça ne marche pas.


Finalement... en y re-re-re-réfléchissant... bien sûr, ça ne marche pas
si tu commences par htmlspecialchars avant de faire html_entity_decode
parce que &lt; va devenir &amp;lt; avant de redevenir &lt;, mais qu'il
en sera de même de &eacute;.

Mais si tu fais l'inverse ? En principe tu devrais avoir :
&lt; ==> < ==> &lt;
&eacute; ==> é ==> é

Je me trompe ?
  Réponse avec citation
Vieux 07/09/2007, 08h51   #7 (permalink)
Etienne SOBOLE
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: PHP et TIDY mais surout TIDY

> Mais si tu fais l'inverse ? En principe tu devrais avoir :
> &lt; ==> < ==> &lt;
> &eacute; ==> é ==> é
>
> Je me trompe ?


Oui tu te trompes.

car <b>titre</b>
va devenir &lt;b&gt;titre&lt;/b&gt;
et c'est pas trop le but

Etienne
  Réponse avec citation
Vieux 07/09/2007, 11h39   #8 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: PHP et TIDY mais surout TIDY

Le 07/09/2007 09:51, Etienne SOBOLE a écrit :
>>
>> Je me trompe ?

>
> Oui tu te trompes.
>
> car <b>titre</b>
> va devenir &lt;b&gt;titre&lt;/b&gt;
> et c'est pas trop le but


Ah, en effet. C'est sans espoir, donc, sauf à faire ce que tu as
fait (une fonction codée à la main).

Désolé.
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 11h04.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,14767 seconds with 16 queries