Dutch PHP Conference 2025 - Call For Papers

tidyNode::isHtml

(PHP 5, PHP 7, PHP 8)

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.

Приклади

Приклад #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 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>'; ?><#
  /* 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>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top