(PHP 5, PHP 7, PHP 8)
tidyNode::isComment β ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠ·Π΅Π» ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ
ΠΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΠ·Π΅Π» ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ.
Π‘ΠΈΠ³Π½Π°ΡΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ true, Π΅ΡΠ»ΠΈ ΡΠ·Π΅Π» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΌ, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ false.
ΠΡΠΈΠΌΠ΅Ρ #1 ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² ΠΈΠ· ΡΠΌΠ΅ΡΠ°Π½Π½ΠΎΠ³ΠΎ 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->isComment()) {
echo "\n\n# ΡΠ·Π΅Π» ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ #" . ++$GLOBALS['num'] . "\n";
echo $node->value;
}
// ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ² Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ·Π»Π°
if($node->hasChildren()) {
foreach($node->child as $child) {
get_nodes($child);
}
}
}
?>Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°:
# ΡΠ·Π΅Π» ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡ #1 <!-- ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ -->