Tidy est une interface avec la bibliothèque Tidy HTML, pour nettoyer et manipuler les documents HTML, et les traiter sous forme de balises hiérarchisées.
Tidy est actuellement disponible pour PHP 4.3.x et PHP 5 en tant qu’extension PECL. L’extension est disponible sur http://pecl.php.net/package/tidy.
Note : Tidy 1.0 fonctionne juste avec
PHP 4.3.x, alors que Tidy 2.0 ne fonctionne que avec
PHP 5.
Si PEAR est disponible sur votre système *nix vous pouvez utiliser l’installeur PEAR pour avoir l’extension tidy, avec la commande suivante : pear install tidy.
Vous pouvez aussi télécharger l’archive tar.gz et installer tidy à la main :
| Exemple 1. Installation de tidy à la main pour PHP 4.3.x | gunzip tidy-xxx.tgz tar -xvf tidy-xxx.tar cd tidy-xxx phpize ./configure && make && make install | |
Les utilisateurs de windows peuvent télécharger la dll de l’extension sur http://pecl4win.php.net/ext.php/php_tidy.dll.
En PHP 5 vous avez uniquement besoin de compiler en utilisant l’option “–with-tidy”.
Le comportement de ces fonctions est affecté par la configuration dans le fichier “php.ini”.
Tableau 1. Options de configuration
| Nom | Par défaut | Modifiable | Historique |
| tidy.default_config | “” | PHP_INI_SYSTEM | Disponible depuis PHP 5.0.0. |
| tidy.clean_output | “0” | PHP_INI_PERDIR | Disponible depuis PHP 5.0.0. |
Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à Annexe G.
Voici un éclaircissement sur l’utilisation des directives de configuration.
“tidy.default_config” string
Chemin par défaut pour le fichier de configuration Tidy.
“tidy.clean_output” boolean
Activer ou désactiver la réparation du HTML par Tidy
| Avertissement |
| N’activez pas “tidy.clean_output” si vous générez autre chose que du HTML, comme des images dynamiques. |
Cette extension ne définit aucune ressource.
-
-
-
-
-
-
-
tidyNode->isText - Retourne “TRUE” si le noeud courant est du texte (aucun marquage)
value - la valeur du noeud (par exemple, le texte html)
name - le nom de la balise (par exemple, html, a, etc.)
type - le type du noeud (une des constantes au-dessus, par exemple, “TIDY_NODETYPE_
PHP“)
line* - la ligne où le noeud commence
column* - la colonne où le noeud commence
proprietary* - “TRUE” si le noeud réfère à une balise propriétaire
id - le ID de la balise (une des constantes au-dessus, par exemple, “TIDY_TAG_FRAME”)
attribute - un tableau avec les attributs du noeud courant ou “NULL” s’il n’y en a pas
child - un tableau avec les enfants tidyNode ou “NULL” s’il n’y en a pas
Note : Les propriétés marquées d’un * sont seulement disponibles à partir de
PHP 5.1.0.
Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l’exécution.
Chaque “TIDY_TAG_XXX” représente un tag HTML. Par exemple, “TIDY_TAG_A” représente le tag <a href=”XX”>link</a>. Chaque “TIDY_ATTR_XXX” représente un attribut HTML. Par exemple, “TIDY_ATTR_HREF” représentera l’attribut href dans l’exemple précédent.
Les constantes suivantes sont définies par cette extension :
Tableau 2. constantes des tags tidy
| constante |
| TIDY_TAG_UNKNOWN |
| TIDY_TAG_A |
| TIDY_TAG_ABBR |
| TIDY_TAG_ACRONYM |
| TIDY_TAG_ALIGN |
| TIDY_TAG_APPLET |
| TIDY_TAG_AREA |
| TIDY_TAG_B |
| TIDY_TAG_BASE |
| TIDY_TAG_BASEFONT |
| TIDY_TAG_BDO |
| TIDY_TAG_BGSOUND |
| TIDY_TAG_BIG |
| TIDY_TAG_BLINK |
| TIDY_TAG_BLOCKQUOTE |
| TIDY_TAG_BODY |
| TIDY_TAG_BR |
| TIDY_TAG_BUTTON |
| TIDY_TAG_CAPTION |
| TIDY_TAG_CENTER |
| TIDY_TAG_CITE |
| TIDY_TAG_CODE |
| TIDY_TAG_COL |
| TIDY_TAG_COLGROUP |
| TIDY_TAG_COMMENT |
| TIDY_TAG_DD |
| TIDY_TAG_DEL |
| TIDY_TAG_DFN |
| TIDY_TAG_DIR |
| TIDY_TAG_DIV |
| TIDY_TAG_DL |
| TIDY_TAG_DT |
| TIDY_TAG_EM |
| TIDY_TAG_EMBED |
| TIDY_TAG_FIELDSET |
| TIDY_TAG_FONT |
| TIDY_TAG_FORM |
| TIDY_TAG_FRAME |
| TIDY_TAG_FRAMESET |
| TIDY_TAG_H1 |
| TIDY_TAG_H2 |
| TIDY_TAG_H3 |
| TIDY_TAG_H4 |
| TIDY_TAG_H5 |
| TIDY_TAG_H6 |
| TIDY_TAG_HEAD |
| TIDY_TAG_HR |
| TIDY_TAG_HTML |
| TIDY_TAG_I |
| TIDY_TAG_IFRAME |
| TIDY_TAG_ILAYER |
| TIDY_TAG_IMG |
| TIDY_TAG_INPUT |
| TIDY_TAG_INS |
| TIDY_TAG_ISINDEX |
| TIDY_TAG_KBD |
| TIDY_TAG_KEYGEN |
| TIDY_TAG_LABEL |
| TIDY_TAG_LAYER |
| TIDY_TAG_LEGEND |
| TIDY_TAG_LI |
| TIDY_TAG_LINK |
| TIDY_TAG_LISTING |
| TIDY_TAG_MAP |
| TIDY_TAG_MARQUEE |
| TIDY_TAG_MENU |
| TIDY_TAG_META |
| TIDY_TAG_MULTICOL |
| TIDY_TAG_NOBR |
| TIDY_TAG_NOEMBED |
| TIDY_TAG_NOFRAMES |
| TIDY_TAG_NOLAYER |
| TIDY_TAG_NOSAVE |
| TIDY_TAG_NOSCRIPT |
| TIDY_TAG_OBJECT |
| TIDY_TAG_OL |
| TIDY_TAG_OPTGROUP |
| TIDY_TAG_OPTION |
| TIDY_TAG_P |
| TIDY_TAG_PARAM |
| TIDY_TAG_PLAINTEXT |
| TIDY_TAG_PRE |
| TIDY_TAG_Q |
| TIDY_TAG_RP |
| TIDY_TAG_RT |
| TIDY_TAG_RTC |
| TIDY_TAG_RUBY |
| TIDY_TAG_S |
| TIDY_TAG_SAMP |
| TIDY_TAG_SCRIPT |
| TIDY_TAG_SELECT |
| TIDY_TAG_SERVER |
| TIDY_TAG_SERVLET |
| TIDY_TAG_SMALL |
| TIDY_TAG_SPACER |
| TIDY_TAG_SPAN |
| TIDY_TAG_STRIKE |
| TIDY_TAG_STRONG |
| TIDY_TAG_STYLE |
| TIDY_TAG_SUB |
| TIDY_TAG_TABLE |
| TIDY_TAG_TBODY |
| TIDY_TAG_TD |
| TIDY_TAG_TEXTAREA |
| TIDY_TAG_TFOOT |
| TIDY_TAG_TH |
| TIDY_TAG_THEAD |
| TIDY_TAG_TITLE |
| TIDY_TAG_TR |
| TIDY_TAG_TR |
| TIDY_TAG_TT |
| TIDY_TAG_U |
| TIDY_TAG_UL |
| TIDY_TAG_VAR |
| TIDY_TAG_WBR |
| TIDY_TAG_XMP |
Tableau 3. Constantes des attributs tidy
| constante |
| TIDY_ATTR_UNKNOWN |
| TIDY_ATTR_ABBR |
| TIDY_ATTR_ACCEPT |
| TIDY_ATTR_ACCEPT_CHARSET |
| TIDY_ATTR_ACCESSKEY |
| TIDY_ATTR_ACTION |
| TIDY_ATTR_ADD_DATE |
| TIDY_ATTR_ALIGN |
| TIDY_ATTR_ALINK |
| TIDY_ATTR_ALT |
| TIDY_ATTR_ARCHIVE |
| TIDY_ATTR_AXIS |
| TIDY_ATTR_BACKGROUND |
| TIDY_ATTR_BGCOLOR |
| TIDY_ATTR_BGPROPERTIES |
| TIDY_ATTR_BORDER |
| TIDY_ATTR_BORDERCOLOR |
| TIDY_ATTR_BOTTOMMARGIN |
| TIDY_ATTR_CELLPADDING |
| TIDY_ATTR_CELLSPACING |
| TIDY_ATTR_CHAR |
| TIDY_ATTR_CHAROFF |
| TIDY_ATTR_CHARSET |
| TIDY_ATTR_CHECKED |
| TIDY_ATTR_CITE |
| TIDY_ATTR_CLASS |
| TIDY_ATTR_CLASSID |
| TIDY_ATTR_CLEAR |
| TIDY_ATTR_CODE |
| TIDY_ATTR_CODEBASE |
| TIDY_ATTR_CODETYPE |
| TIDY_ATTR_COLOR |
| TIDY_ATTR_COLS |
| TIDY_ATTR_COLSPAN |
| TIDY_ATTR_COMPACT |
| TIDY_ATTR_CONTENT |
| TIDY_ATTR_COORDS |
| TIDY_ATTR_DATA |
| TIDY_ATTR_DATAFLD |
| TIDY_ATTR_DATAPAGESIZE |
| TIDY_ATTR_DATASRC |
| TIDY_ATTR_DATETIME |
| TIDY_ATTR_DECLARE |
| TIDY_ATTR_DEFER |
| TIDY_ATTR_DIR |
| TIDY_ATTR_DISABLED |
| TIDY_ATTR_ENCODING |
| TIDY_ATTR_ENCTYPE |
| TIDY_ATTR_FACE |
| TIDY_ATTR_FOR |
| TIDY_ATTR_FRAME |
| TIDY_ATTR_FRAMEBORDER |
| TIDY_ATTR_FRAMESPACING |
| TIDY_ATTR_GRIDX |
| TIDY_ATTR_GRIDY |
| TIDY_ATTR_HEADERS |
| TIDY_ATTR_HEIGHT |
| TIDY_ATTR_HREF |
| TIDY_ATTR_HREFLANG |
| TIDY_ATTR_HSPACE |
| TIDY_ATTR_HTTP_EQUIV |
| TIDY_ATTR_ID |
| TIDY_ATTR_ISMAP |
| TIDY_ATTR_LABEL |
| TIDY_ATTR_LANG |
| TIDY_ATTR_LANGUAGE |
| TIDY_ATTR_LAST_MODIFIED |
| TIDY_ATTR_LAST_VISIT |
| TIDY_ATTR_LEFTMARGIN |
| TIDY_ATTR_LINK |
| TIDY_ATTR_LONGDESC |
| TIDY_ATTR_LOWSRC |
| TIDY_ATTR_MARGINHEIGHT |
| TIDY_ATTR_MARGINWIDTH |
| TIDY_ATTR_MAXLENGTH |
| TIDY_ATTR_MEDIA |
| TIDY_ATTR_METHOD |
| TIDY_ATTR_MULTIPLE |
| TIDY_ATTR_NAME |
| TIDY_ATTR_NOHREF |
| TIDY_ATTR_NORESIZE |
| TIDY_ATTR_NOSHADE |
| TIDY_ATTR_NOWRAP |
| TIDY_ATTR_OBJECT |
| TIDY_ATTR_OnAFTERUPDATE |
| TIDY_ATTR_OnBEFOREUNLOAD |
| TIDY_ATTR_OnBEFOREUPDATE |
| TIDY_ATTR_OnBLUR |
| TIDY_ATTR_OnCHANGE |
| TIDY_ATTR_OnCLICK |
| TIDY_ATTR_OnDATAAVAILABLE |
| TIDY_ATTR_OnDATASETCHANGED |
| TIDY_ATTR_OnDATASETCOMPLETE |
| TIDY_ATTR_OnDBLCLICK |
| TIDY_ATTR_OnERRORUPDATE |
| TIDY_ATTR_OnFOCUS |
| TIDY_ATTR_OnKEYDOWN |
| TIDY_ATTR_OnKEYPRESS |
| TIDY_ATTR_OnKEYUP |
| TIDY_ATTR_OnLOAD |
| TIDY_ATTR_OnMOUSEDOWN |
| TIDY_ATTR_OnMOUSEMOVE |
| TIDY_ATTR_OnMOUSEOUT |
| TIDY_ATTR_OnMOUSEOVER |
| TIDY_ATTR_OnMOUSEUP |
| TIDY_ATTR_OnRESET |
| TIDY_ATTR_OnROWENTER |
| TIDY_ATTR_OnROWEXIT |
| TIDY_ATTR_OnSELECT |
| TIDY_ATTR_OnSUBMIT |
| TIDY_ATTR_OnUNLOAD |
| TIDY_ATTR_PROFILE |
| TIDY_ATTR_PROMPT |
| TIDY_ATTR_RBSPAN |
| TIDY_ATTR_READONLY |
| TIDY_ATTR_REL |
| TIDY_ATTR_REV |
| TIDY_ATTR_RIGHTMARGIN |
| TIDY_ATTR_ROWS |
| TIDY_ATTR_ROWSPAN |
| TIDY_ATTR_RULES |
| TIDY_ATTR_SCHEME |
| TIDY_ATTR_SCOPE |
| TIDY_ATTR_SCROLLING |
| TIDY_ATTR_SELECTED |
| TIDY_ATTR_SHAPE |
| TIDY_ATTR_SHOWGRID |
| TIDY_ATTR_SHOWGRIDX |
| TIDY_ATTR_SHOWGRIDY |
| TIDY_ATTR_SIZE |
| TIDY_ATTR_SPAN |
| TIDY_ATTR_SRC |
| TIDY_ATTR_STANDBY |
| TIDY_ATTR_START |
| TIDY_ATTR_STYLE |
| TIDY_ATTR_SUMMARY |
| TIDY_ATTR_TABINDEX |
| TIDY_ATTR_TARGET |
| TIDY_ATTR_TEXT |
| TIDY_ATTR_TITLE |
| TIDY_ATTR_TOPMARGIN |
| TIDY_ATTR_TYPE |
| TIDY_ATTR_USEMAP |
| TIDY_ATTR_VALIGN |
| TIDY_ATTR_VALUE |
| TIDY_ATTR_VALUETYPE |
| TIDY_ATTR_VERSION |
| TIDY_ATTR_VLINK |
| TIDY_ATTR_VSPACE |
| TIDY_ATTR_WIDTH |
| TIDY_ATTR_WRAP |
| TIDY_ATTR_XML_LANG |
| TIDY_ATTR_XML_SPACE |
| TIDY_ATTR_XMLNS |
Tableau 4. Constantes de types de noeud tidy
| constante | description |
| TIDY_NODETYPE_ROOT | noeud racine |
| TIDY_NODETYPE_DOCTYPE | doctype |
| TIDY_NODETYPE_COMMENT | commentaire HTML |
| TIDY_NODETYPE_PROCINS | Instruction de processus |
| TIDY_NODETYPE_TEXT | Texte |
| TIDY_NODETYPE_START | début de tag |
| TIDY_NODETYPE_END | fin de tag |
| TIDY_NODETYPE_STARTEND | tag vide |
| TIDY_NODETYPE_CDATA | CDATA |
| TIDY_NODETYPE_SECTION | section XML |
| TIDY_NODETYPE_ASP | code ASP |
| TIDY_NODETYPE_JSTE | code JSTE |
| TIDY_NODETYPE_PHP | code PHP |
| TIDY_NODETYPE_XMLDECL | Déclaration XML |
Ce simple exemple montre l’utilisation de base de Tidy.
| Exemple 2. Utilisation de base de Tidy |
<?php
ob_start();
?>
<html>Un document html</html>
<?
$html = ob_get_clean();
// Specify configuration
$config = array(
'indent' => true,
'output-xhtml' => true,
'wrap' => 200);
// Tidy
$tidy = new tidy;
$tidy->parseString($html, $config, 'utf8');
$tidy->cleanRepair();
// Output
echo $tidy;
?>
Table des matières
ob_tidyhandler – Fonction de callback ob_start pour réparer le buffer tidy_access_count – Retourne le nombre d’alertes d’accessibilité Tidy rencontrées dans le document tidy_clean_repair – Effectue les opérations de nettoyage et de réparation préparées pour un fichier HTML tidy_config_count – Retourne le nombre d’erreurs de configuration Tidy rencontrées dans le document tidy::__construct – Construit un nouvel objet Tidy tidy_diagnose – Etablit le diagnostic pour le document analysé et réparétidy_error_count – Retourne le nombre d’erreurs Tidy rencontrées dans le document tidy_get_body – Retourne un objet TidyNode, commencé à partir de la balise <body> tidy_get_config – Lit la configuration Tidy courante tidy_get_error_buffer – Retourne les alertes et erreurs qui sont survenues lors de l’analyse du document tidy_get_head – Retourne un objet TidyNode à partir de la balise <head> tidy_get_html_ver – Détecte le version du code HTML utilisée dans un document tidy_get_html – Retourne un objet TidyNode commençant à la balise <html> tidy_get_opt_doc – Retourne la documentation pour le nom de l’option donnée tidy_get_output – Retourne une chaîne représentant les balises telles qu’analysées par Tidy tidy_get_release – Retourne la date de publication (version) de la bibliothèque Tidy tidy_get_root – Retourne un objet tidyNode représentant la racine du document HTML tidy_get_status – Retourne le statut du document spécifié tidy_getopt – Retourne la valeur de l’option de configuration Tidytidy_is_xhtml – Indique si le document est un document XHTML tidy_is_xml – Indique si le document est un document XML générique (non HTML/XHTML) tidy_load_config – Charge un fichier de configuration ASCII Tidy avec l’encodage spécifié tidy_node->get_attr – Retourne la valeur de l’attribut spécifié tidy_node->get_nodes – Retourne un tableau avec les noeuds placés sous le noeud courant, avec l’identifiant spécifié tidy_node->next – Retourne le prochain frère du noeud courant tidy_node->prev – Retourne le frère précédent de ce noeud tidy_parse_file – Analyse les balises d’un fichier ou d’une URI tidy_parse_string – Analyse un document HTML contenu dans une chaîne tidy_repair_file – Répare un fichier et le renvoie en tant que chaîne tidy_repair_string – Répare une chaîne HTML en utilisant un fichier de configuration optionnel tidy_reset_config – Redonne les valeurs de configuration par défaut de Tidy tidy_save_config – Sauve la configuration courante dans un fichiertidy_set_encoding – Modifie le jeu de caractères pour les entrées/sorties de l’analyseur Tidy tidy_setopt – Modifie la valeur de l’option de configuration Tidy tidy_warning_count – Retourne le nombre d’alertes Tidy rencontrées dans le document spécifié tidyNode->hasChildren – Retourne true si le noeud a des enfants tidyNode->hasSiblings – Retourne true si le noeud a des frères tidyNode->isAsp – Retourne “TRUE” si ce noeud Tidy est du code ASP tidyNode->isComment – Retourne true si le noeud représente un commentaire tidyNode->isHtml – Retourne true si le noeud est une partie d’un document HTML tidyNode->isJste – Renvoie true; si ce node est JSTE tidyNode->isPhp – Retourne “TRUE” si ce noeud est en PHP tidyNode->isText – Retourne true si le noeud représente du texte (aucun marquage)
Contribuez, en ajjoutant des elements a cette page de manuel :
Merci de votre aide
L’equipe Php.fr