PHP 8.5.0 Alpha 2 available for testing

tidyNode::isHtml

(PHP 5, PHP 7, PHP 8)

tidyNode::isHtmlПроверяет, является ли узел узлом элемента

Описание

public tidyNode::isHtml(): bool

Проверяет, является ли узел узлом элемента, но не корневым узлом документа.

Список параметров

Сигнатура функции не содержит параметров.

Возвращаемые значения

Возвращает true, если узел является узлом элемента, но не корневым узлом документа, в противном случае возвращает false.

Список изменений

Версия Описание
7.3.24, 7.4.12 Исправлено, теперь функция ведёт себя разумно. Раньше почти любой узел считался узлом HTML.

Примеры

Пример #1 Извлечение HTML-кода из смешанного HTML-документа

<?php

$html
= <<< HTML
<html><head>
<?php echo '<title>заголовок</title>'; ?>
<#
/* JSTE код */
alert('Привет Мир');
#>
</head>
<body>

<?php
// PHP-код
echo 'привет мир!';
?>

<%
/* ASP код */
response.write("Привет Мир!")
%>

<!-- Комментарии -->
Привет Мир
</body></html>
За пределами HTML кода
HTML;


$tidy = tidy_parse_string($html);
$num = 0;

get_nodes($tidy->html());

function
get_nodes($node) {
// проверяет текущий узел на соответствие требуемому типу
if($node->isHtml()) {
echo
"\n\n# html нода #" . ++$GLOBALS['num'] . "\n";
echo
$node->value;
}

// проверяет существование потомков у текущего узла
if($node->hasChildren()) {
foreach(
$node->child as $child) {
get_nodes($child);
}
}
}

?>

Результат выполнения приведённого примера:

# html узел #1
<html>
<head>
<?php echo '<title>заголовок</title>'; ?><#
  /* JSTE код */
  alert('Привет Мир');
#>
<title></title>
</head>
<body>
<?php
  // PHP-код
  echo 'привет мир!';
?><%
  /* ASP код */
  response.write("Привет Мир!")
%><!-- Комментарии -->
Привет МирЗа пределами HTML кода
</body>
</html>

# html узел #2
<head>
<?php echo '<title>заголовок</title>'; ?><#
  /* JSTE код */
  alert('Привет Мир');
#>
<title></title>
</head>


# html узел #3
<title></title>

# html узел #4
<body>
<?php
  // PHP-код
  echo 'привет мир!';
?><%
  /* ASP код */
  response.write("Привет Мир!")
%><!-- Комментарии -->
Привет МирЗа пределами HTML кода
</body>

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top