Php/docs/tidynode.ishtml

来自菜鸟教程
跳转至:导航、​搜索

tidyNode::isHtml

(PHP 5, PHP 7)

tidyNode::isHtmlChecks if a node is an element node


说明

public tidyNode::isHtml ( ) : bool

Tells if the node is an element node, but not the root node of the document.


返回值

Returns true if the node is an element node, but not the root node of the document, false otherwise.


更新日志

版本 说明
7.3.24, 7.4.12 This function has been fixed to have reasonable behavior. Previously,

almost any node was reported as being an HTML node.


范例

Example #1 Extract HTML code from a mixed HTML document

<?php$html = <<< HTML<html><head><?php echo '<title>title</title>'; ?><#   /* JSTE code */  alert('Hello World'); #></head><body><?php  // PHP code  echo 'hello world!';?><%  /* ASP code */  response.write("Hello World!")%><!-- Comments -->Hello World</body></html>Outside HTMLHTML;$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>'; ?><#
  /* JSTE code */
  alert('Hello World');
#>
<title></title>
</head>
<body>
<?php
  // PHP code
  echo 'hello world!';
?><%
  /* ASP code */
  response.write("Hello World!")
%><!-- Comments -->
Hello WorldOutside HTML
</body>
</html>

# html node #2
<head>
<?php echo '<title>title</title>'; ?><#
  /* JSTE code */
  alert('Hello World');
#>
<title></title>
</head>


# html node #3
<title></title>


# html node #4
<body>
<?php
  // PHP code
  echo 'hello world!';
?><%
  /* ASP code */
  response.write("Hello World!")
%><!-- Comments -->
Hello WorldOutside HTML
</body>