создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

PHP. Руководство по PHP. 2005

Tidy Functions

Пред.

След.

CXXXVII. Tidy Functions

Введение

Tidy is a binding for the Tidy HTML clean and repair utility which allows you to not only clean and otherwise manipulate HTML documents, but also traverse the document tree.

Требования

To use Tidy, you will need libtidy installed, available on the tidy homepage http://tidy.sourceforge.net/.

Установка

Tidy is currently available for PHP4.3.x and PHP5 as a PECL extension from http://pecl.php.net/package/tidy.

Замечание: Tidy 1.0 is just for PHP4.3.x, while Tidy 2.0 is just for PHP5.

If PEAR is available on your *nix-like system you can use the pear installer to install the tidy extension, by the following command: pear -v install tidy.

You can always download the tar.gz package and install tidy by hand:

Пример 1. tidy install by hand in PHP4.3.x

gunzip tidy-xxx.tgz

tar -xvf tidy-xxx.tar

cd tidy-xxx

phpize

./configure && make && make install

Windows users can download the extension dll php_tidy.dll from http://snaps.php.net/win32/PECL_STABLE/.

In PHP5 you need only to compile using the --with-tidy option.

Настройка во время выполнения

-Поведение этих функций зависит от установок в php.ini.

Таблица 1. Tidy Configuration Options

NameDefaultChangeableChangelog
tidy.default_config""PHP_INI_SYSTEMAvailable since PHP5.0.0.
tidy.clean_output"0"PHP_INI_PERDIRAvailable since PHP5.0.0.

Для подробного описания констант

PHP_INI_*, обратитесь к документации функции ini_set().

Краткое разъяснение конфигурационных

директив.

tidy.default_config string

Default path for tidy config file.

tidy.clean_output boolean

Turns on/off the output repairing by Tidy.

Внимание
- Do not turn on tidy.clean_output if you are generating non-html content such as dynamic images.

Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Предопределенные классы

tidyNode

Методы

  • tidyNode->hasChildren - Returns TRUE if the current node has childrens
  • tidyNode->hasSiblings - Returns TRUE if the current node has siblings
  • tidyNode->isAsp - Returns TRUE if the current node is ASP code
  • tidyNode->isComment - Returns TRUE if the current node is a comment
  • tidyNode->isHtml - Returns TRUE if the current node is HTML
  • tidyNode->isJste - Returns TRUE if the current node is JSTE
  • tidyNode->isPhp - Returns TRUE if the current node is PHP
  • tidyNode->isText - Returns TRUE if the current node is Text (no markup)

    Свойства

  • value - the value of the node (e.g. the html text)
  • name - the name of the tag (e.g. html, a, etc..)
  • type - the type of the node (one of the constants above, e.g. TIDY_NODETYPE_PHP)
  • line* - the line where the node starts
  • column* - the column where the node starts
  • proprietary* - TRUE if the node refers to a proprietary tag
  • id - the ID of the tag (one of the constants above, e.g. TIDY_TAG_FRAME)
  • attribute - an array with the attributes of the current node, or NULL if there aren't any
  • child - an array with the child tidyNodes, or NULL if there aren't any

    Замечание: The properties marked with * are just available since PHP5.1.0.

    Предопределенные константы

    -Перечисленные ниже константы определены данным расширением и могут быть

    доступны только в том случае, если PHP был собран с

    поддержкой этого расширения или же в том случае, если

    данное расширение подгружается во время выполнения.

    Each TIDY_TAG_XXX represents a HTML tag. For example, TIDY_TAG_A represents a <a href="XX">link</a> tag. Each TIDY_ATTR_XXX represents a HTML atribute. For example TIDY_ATTR_HREF would represent the href atribute in the previous example.

    The following constants are defined:

    Таблица 2. tidy tag constants

    constant
    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_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

    Таблица 3. tidy attribute constants

    constant
    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

    Таблица 4. tidy nodetype constants

    constantdescription
    TIDY_NODETYPE_ROOTroot node
    TIDY_NODETYPE_DOCTYPEdoctype
    TIDY_NODETYPE_COMMENTHTML comment
    TIDY_NODETYPE_PROCINSProcessing Instruction
    TIDY_NODETYPE_TEXTText
    TIDY_NODETYPE_STARTstart tag
    TIDY_NODETYPE_ENDend tag
    TIDY_NODETYPE_STARTENDempty tag
    TIDY_NODETYPE_CDATACDATA
    TIDY_NODETYPE_SECTIONXML section
    TIDY_NODETYPE_ASPASP code
    TIDY_NODETYPE_JSTEJSTE code
    TIDY_NODETYPE_PHPPHP code
    TIDY_NODETYPE_XMLDECLXML declaration

    Примеры

    This simple example shows basic Tidy usage.

    Пример 2. Basic Tidy usage

    <?

    ob_start();

    ?>

    <html>a html document</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;

    ?>

    Содержание

    ob_tidyhandler -- ob_start callback function to repair the buffer

    tidy_access_count -- Returns the Number of Tidy accessibility warnings encountered for specified document

    tidy_clean_repair -- Execute configured cleanup and repair operations on parsed markup

    tidy_config_count -- Returns the Number of Tidy configuration errors encountered for specified document

    tidy::__construct -- Constructs a new tidy object

    tidy_diagnose -- Run configured diagnostics on parsed and repaired markup

    tidy_error_count -- Returns the Number of Tidy errors encountered for specified document

    tidy_get_body -- Returns a tidyNode Object starting from the <body> tag of the tidy parse tree

    tidy_get_config -- Get current Tidy configuration

    tidy_get_error_buffer -- Return warnings and errors which occurred parsing the specified document

    tidy_get_head -- Returns a tidyNode Object starting from the <head> tag of the tidy parse tree

    tidy_get_html_ver -- Get the Detected HTML version for the specified document

    tidy_get_html -- Returns a tidyNode Object starting from the <html> tag of the tidy parse tree

    tidy_get_opt_doc -- Returns the documentation for the given option name

    tidy_get_output -- Return a string representing the parsed tidy markup

    tidy_get_release -- Get release date (version) for Tidy library

    tidy_get_root -- Returns a tidyNode object representing the root of the tidy parse tree

    tidy_get_status -- Get status of specified document

    tidy_getopt -- Returns the value of the specified configuration option for the tidy document

    tidy_is_xhtml -- Indicates if the document is a XHTML document

    tidy_is_xml -- Indicates if the document is a generic (non HTML/XHTML) XML document

    tidy_load_config -- Load an ASCII Tidy configuration file with the specified encoding

    tidy_node->get_attr -- Return the attribute with the provided attribute id

    tidy_node->get_nodes -- Return an array of nodes under this node with the specified id

    tidy_node->next -- Returns the next sibling to this node

    tidy_node->prev -- Returns the previous sibling to this node

    tidy_parse_file -- Parse markup in file or URI

    tidy_parse_string -- Parse a document stored in a string

    tidy_repair_file -- Repair a file and return it as a string

    tidy_repair_string -- Repair a string using an optionally provided configuration file

    tidy_reset_config -- Restore Tidy configuration to default values

    tidy_save_config -- Save current settings to named file

    tidy_set_encoding -- Set the input/output character encoding for parsing markup

    tidy_setopt -- Updates the configuration settings for the specified tidy document

    tidy_warning_count -- Returns the Number of Tidy warnings encountered for specified document

    tidyNode->hasChildren -- Returns true if this node has children

    tidyNode->hasSiblings -- Returns true if this node has siblings

    tidyNode->isAsp -- Returns true if this node is ASP

    tidyNode->isComment -- Returns true if this node represents a comment

    tidyNode->isHtml -- Returns true if this node is part of a HTML document

    tidyNode->isJste -- Returns true if this node is JSTE

    tidyNode->isPhp -- Returns true if this node is PHP

    tidyNode->isText -- Returns true if this node represents text (no markup)

    Пред.

    Начало

    След.

    tcpwrap_check

    Уровень выше

    ob_tidyhandler

  • Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

    Ваше письмо×
    Free Web Hosting