Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

PHP et Tidy

7 réponses
Avatar
Arno
Bonjour,

Je souhaite utiliser l'extension php tidy pour réindenter correctement
mon code avant de l'envoyer au navigateur. Mon code est donc le suivant
:

ob_start();
// .... Le code pour générer la page ....
ob_end_clean();

$config = array(
'indent' => true,
'output-xhtml' => true,
'wrap' => 200,
'join-styles' => false);
$tidy = tidy_parse_string($html, $config);
tidy_clean_repair($tidy);
echo $tidy;

Seulement j'ai un problème, tidy fait certain remplacement dans mon
code. Par exemple il me remplace mes balises <ul> par <div
style="margin-left: 2em">. Quelqu'un pourrait m'aider pour faire en
sorte que tidy ne fasse que de la réindentation de code ?

Merci
Arno

7 réponses

Avatar
JC_E
Re,

Je souhaite utiliser l'extension php tidy pour réindenter correctement
mon code avant de l'envoyer au navigateur. Mon code est donc le suivant


si cela peut t'aider
http://www.bierkandt.org/beautify/

--
Click here to answer / cliquez ci dessous pour me repondre
http://cerbermail.com/?ZhznliAh4V

Avatar
Olivier Miakinen

Je souhaite utiliser l'extension php tidy pour réindenter correctement
mon code avant de l'envoyer au navigateur. Mon code est donc le suivant


si cela peut t'aider
http://www.bierkandt.org/beautify/


Je n'ai pas l'impression que ce soit ce que cherche Arno. Le lien que tu
donnes pointe vers un programme pour indenter le code PHP, alors que si
j'ai bien compris c'est le HTML généré qu'il veut réindenter.


Avatar
Arno


Je souhaite utiliser l'extension php tidy pour réindenter correctement
mon code avant de l'envoyer au navigateur. Mon code est donc le suivant


si cela peut t'aider
http://www.bierkandt.org/beautify/


Je n'ai pas l'impression que ce soit ce que cherche Arno. Le lien que tu
donnes pointe vers un programme pour indenter le code PHP, alors que si
j'ai bien compris c'est le HTML généré qu'il veut réindenter.


C'est exactement ca, ce que je souhaite c'est réindenter proprement le
code HTML.



Avatar
piotr
Bonjour,


Bonjour,

Je souhaite utiliser l'extension php tidy pour réindenter correctement
mon code avant de l'envoyer au navigateur. Mon code est donc le suivant
:

ob_start();
// .... Le code pour générer la page ....
ob_end_clean();

$config = array(
'indent' => true,
'output-xhtml' => true,
'wrap' => 200,
'join-styles' => false);
$tidy = tidy_parse_string($html, $config);
tidy_clean_repair($tidy);
echo $tidy;

Seulement j'ai un problème, tidy fait certain remplacement dans mon
code. Par exemple il me remplace mes balises <ul> par <div
style="margin-left: 2em">.


Tidy fait de la réparation de code erroné: tu lui donnes l'option

'output-xhtml' => true

Ce qui a pour incidence de coller la DTD XHTML a ton code HTML et à
faire en sorte que ce code HTML soit conforme à cette DTD.

D'après la doc là :
http://tidy.sourceforge.net/docs/quickref.html#output-html

Il existe trois options qui vont t'interesser :
- output-html
- output-xhtml
- output-xml

Par défaut, elles sont toutes à false, et là tu as mis xhtml à true

Quelqu'un pourrait m'aider pour faire en
sorte que tidy ne fasse que de la réindentation de code ?


Tu devrais essayer de jouer avec ces options: les mettre toutes à false,
ou ne mettre que output-xml par exemple.

Si ça ne marche pas, il y a l'option clean également; voir l'url
précédemment citée pour la doc.

Avatar
Arno


Seulement j'ai un problème, tidy fait certain remplacement dans mon
code. Par exemple il me remplace mes balises <ul> par <div
style="margin-left: 2em">.


Tidy fait de la réparation de code erroné: tu lui donnes l'option

'output-xhtml' => true

Ce qui a pour incidence de coller la DTD XHTML a ton code HTML et à
faire en sorte que ce code HTML soit conforme à cette DTD.

D'après la doc là :
http://tidy.sourceforge.net/docs/quickref.html#output-html

Il existe trois options qui vont t'interesser :
- output-html
- output-xhtml
- output-xml

Par défaut, elles sont toutes à false, et là tu as mis xhtml à true


J'ai essayer avec les 3 options et ca ne marche pas. Mes balises UL
sont remplacé. J'ai lu un truc sur les balises UL dans la doc mais ca
ne marche pas non plus.


Avatar
Olivier Miakinen

Seulement j'ai un problème, tidy fait certain remplacement dans mon
code. Par exemple il me remplace mes balises <ul> par <div
style="margin-left: 2em">.



J'ai essayer avec les 3 options et ca ne marche pas. Mes balises UL
sont remplacé. J'ai lu un truc sur les balises UL dans la doc mais ca
ne marche pas non plus.


Avant toute chose, es-tu sûr que ton code est valide ? Par exemple, si
jamais tu avais dans un élément UL autre chose que des éléments LI, il
pourrait être logique que Tidy veuille corriger le code pour le rendre
conforme à la DTD.



Avatar
piotr
Il existe trois options qui vont t'interesser :
- output-html
- output-xhtml
- output-xml

Par défaut, elles sont toutes à false, et là tu as mis xhtml à true


J'ai essayer avec les 3 options et ca ne marche pas. Mes balises UL
sont remplacé. J'ai lu un truc sur les balises UL dans la doc mais ca
ne marche pas non plus.


Arg. Tu as essayé de mettre l'option clean à false ?