CIX. Tidy

Introduction

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.

Pré-requis

Pour utiliser Tidy, vous devez disposer de la bibliothèque libtidy, qui est téléchargeable sur le site de http://tidy.sourceforge.net/.

Installation

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 -v 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 php_tidy.dll à partir de http://snaps.php.net/win32/PECL_STABLE/.

En PHP 5 vous avez uniquement besoin de compiler en utilisant l'option --with-tidy.

Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Tableau 1. Options de configuration Tidy

NomeDéfautModifiableFonction
tidy.default_config""PHP_INI_SYSTEMchemin par défaut pour le fichier de configuration Tidy
tidy.clean_output0PHP_INI_PERDIRactiver ou désactiver la réparation du HTML par Tidy
Pour plus de détails sur les constantes PHP_INI_*, reportez-vous à ini_set().

Avertissement

N'activez pas tidy.clean_output si vous générez autre chose que du HTML, comme par exemple des images dynamiques.

Types de ressources

Cette extension ne définit aucune ressource.

Constantes prédefinies

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.

Les constantes suivantes sont définies par cette extension :

Tableau 2. constantes de balises tidy

constantedescription
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_6 
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_NOSAFE 
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 d'attributs tidy

constantedescription
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 nodetype tidy

constantedescription
TIDY_NODETYPE_ROOT 
TIDY_NODETYPE_DOCTYPE 
TIDY_NODETYPE_COMMENT 
TIDY_NODETYPE_PROCINS 
TIDY_NODETYPE_TEXT 
TIDY_NODETYPE_START 
TIDY_NODETYPE_END 
TIDY_NODETYPE_STARTEND 
TIDY_NODETYPE_CDATA 
TIDY_NODETYPE_SECTION 
TIDY_NODETYPE_ASP 
TIDY_NODETYPE_JSTE 
TIDY_NODETYPE_PHP 
TIDY_NODETYPE_XMLDECL 

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ée 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_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_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 librairie 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 Tidy
tidy_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->attributes --  Retourne un tableau avec les attributs de l'objet Tidy
tidy_node->children --  Retourne un tableau avec les noeuds Tidy fils
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->has_children --  Retourne TRUE si ce noeud à un fils
tidy_node->has_siblings --  Retourne TRUE si le noeud a des frères
tidy_node->is_asp --  Retourne TRUE si ce noeud Tidy est ASP
tidy_node->is_comment --  Retourne TRUE si ce noeud représente un commentaire
tidy_node->is_html --  Retourne TRUE si le noeud fait partie d'un document HTML
tidy_node->is_jsp --  Retourne TRUE si ce noeud est JSP
tidy_node->is_jste --  Retourne TRUE si ce noeud est JSTE
tidy_node->is_text --  Retourne TRUE si ce noeud représente du texte (pas de balises)
tidy_node->is_xhtml --  Retourne TRUE si le noeud fait partie d'un document XHTML
tidy_node->is_xml --  Retourne TRUE si ce noeud Tidy fait partie d'un document XML
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_node->tidy_node --  Constructeur de l'objet TidyNode
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 fichier. Seules les valeurs différentes des valeurs par défaut sont sauvées.
tidy_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é