©
This document uses PHP Chinese website manual Release
(PHP 5 >= 5.0.1)
tidyNode::isHtml — Checks if a node is part of a HTML document
Tells if the node is part of HTML document.
Returns TRUE
if the node is part of a HTML document, FALSE
otherwise.
Example #1 Extract HTML code from a mixed HTML document
<?php
$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
alert('Hello World');
#>
</head>
<body>
<?php
// PHP code
echo 'hello world!';
?>
<%
response.write("Hello World!")
%>
<!-- Comments -->
Hello World
</body></html>
Outside HTML
HTML;
$tidy = tidy_parse_string ( $html );
$num = 0 ;
get_nodes ( $tidy -> html ());
function get_nodes ( $node ) {
// check if the current node is of requested type
if( $node -> isHtml ()) {
echo "\n\n# html node #" . ++ $GLOBALS [ 'num' ] . "\n" ;
echo $node -> value ;
}
// check if the current node has childrens
if( $node -> hasChildren ()) {
foreach( $node -> child as $child ) {
get_nodes ( $child );
}
}
}
?>
以上例程会输出:
# html node #1 <html> <head> <?php echo '<title>title</title>'; ?><# alert('Hello World'); #> <title></title> </head> <body> <?php // PHP code echo 'hello world!'; ?><% response.write("Hello World!") %><!-- Comments --> Hello WorldOutside HTML </body> </html># html node #2 <head> <?php echo '<title>title</title>'; ?><# alert('Hello World'); #> <title></title> </head># html node #3 <?php echo '<title>title</title>'; ?># html node #4 <# alert('Hello World'); #># html node #5 <title></title># html node #6 <body> <?php // PHP code echo 'hello world!'; ?><% response.write("Hello World!") %><!-- Comments --> Hello WorldOutside HTML </body># html node #7 <?php // PHP code echo 'hello world!'; ?># html node #8 <% response.write("Hello World!") %># html node #9 <!-- Comments --># html node #10 Hello World# html node #11 Outside HTML
Note:
This function was named tidy_node::is_html() in PHP 4/Tidy 1.