このノードが HTML要素 であるかどうかを調べる

# tidyNode::isHtml

(PHP 5, PHP 7, PHP 8)

tidyNode::isHtml — このノードが HTML要素 であるかどうかを調べる

### 説明

public function tidyNode::isHtml(): bool

このノードが ルート要素 以外の HTML要素 であるかを調べます。

### パラメータ

この関数にはパラメータはありません。

### 戻り値

ノードが ルート要素 以外の HTML要素 である場合に `true`、それ以外の場合に `false` を返します。

### 変更履歴

バージョン | 説明
--- | ---
7.3.24, 7.4.12 | 適切な振る舞いをするように修正されました。 これより前のバージョンでは、ほとんど全てのノードをHTML要素だと報告していました。

### 例

例1 HTML ドキュメントからの HTML コードの抽出

    <?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 children
        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>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open