(PHP 5, PHP 7, PHP 8)
tidyNode::isHtml — Indique si le nœud est une nœud d'élément
Indique si le nœud courant est un nœud d'élément, mais pas le nœud racine du document.
Cette fonction ne contient aucun paramètre.
Retourne true
si le nœud est un nœud d'élément, mais pas le nœud racine
du document, false
sinon.
Version | Description |
---|---|
7.3.24, 7.4.12 | Cette fonction a été corrigée pour avoir un comportement raisonnable. Auparavant, la plupart des nœuds était rapporté comme étant un nœud HTML. |
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 nœud courant est du type demandé
if($node->{isHtml()) {
echo "\n\n# Noeud Html #" . ++$GLOBALS['num'] . "\n";
echo $node->value;
}
// Vérifie si le nœud 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 <title></title> # Noeud html #4 <body> <?php // code PHP echo 'hello world!'; ?><% /* code ASP */ response.write("Hello World!") %><!-- Comments --> Hello WorldOutside HTML </body>