(PHP 5 >= 5.0.1, PHP 7)
tidyNode::isHtml — Indique si le noeud est une partie d'un document HTML
Indique si le noeud courant est une partie de document HTML.
Retourne TRUE
si le noeud est une partie de document HTML,
FALSE
sinon.
Exemple #1 Extrait du code HTML depuis un document mixte
<?php
$html = <<< HTML
<html><head>
<?php echo '<title>title</title>'; ?>
<#
/* code JSTE */
alert('Hello World');
#>
</head>
<body>
<?php
// code PHP
echo 'hello world!';
?>
<%
/* code ASP */
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) {
// Vérifie si le noeud courant est du type demandé
if($node->{isHtml()) {
echo "\n\n# Noeud Html #" . ++$GLOBALS['num'] . "\n";
echo $node->value;
}
// Vérifie si le noeud courant a des enfants
if($node->hasChildren()) {
foreach($node->child as $child) {
get_nodes($child);
}
}
}
?>
L'exemple ci-dessus va afficher :
# Noeud html #1 <html> <head> <?php echo '<title>title</title>'; ?><# /* code JSTE */ alert('Hello World'); #> <title></title> </head> <body> <?php // code PHP echo 'hello world!'; ?><% /* code ASP */ response.write("Hello World!") %><!-- Comments --> Hello WorldOutside HTML </body> </html> # Noeud html #2 <head> <?php echo '<title>title</title>'; ?><# /* code JSTE */ alert('Hello World'); #> <title></title> </head> # Noeud html #3 <?php echo '<title>title</title>'; ?> # Noeud html #4 <# /* code JSTE */ alert('Hello World'); #> # Noeud html #5 <title></title> # Noeud html #6 <body> <?php // code PHP echo 'hello world!'; ?><% /* code ASP */ response.write("Hello World!") %><!-- Comments --> Hello WorldOutside HTML </body> # Noeud html #7 <?php // code PHP echo 'hello world!'; ?> # Noeud html #8 <% /* code ASP */ response.write("Hello World!") %> # Noeud html #9 <!-- Comments --> # Noeud html #10 Hello World # Noeud html #11 Outside HTML