如何从HTML代码中获取所有标签?

时间:2014-08-31 00:56:25

标签: php html

如何从字符串中的HTML代码中获取所有标记?

示例:

$HTML = <<<HTML
<html>
    <head>
        <meta charset="UTF-8">
        <title>Hello World!</title>
    </head>
    <body>
        <p id="main">Hello World!</p>
        <img src="wallpaper.png">
    </body>
</html>
HTML;

getTags($HTML);

打印输出(返回数组) - 标签:

array(html, head, meta, title, body, p, img)

打印输出 - 带有id属性的标签:

array(html, head, meta, title, body, [p, main], img)

仅供参考,我是HTML的新手。

2 个答案:

答案 0 :(得分:1)

除了打印出ID之外,它可以做任何事情,但不应该太难理解:

<?php
$html = '<html>
<head>
    <meta charset="UTF-8">
    <title>Hello World!</title>
</head>
<body>
    <p id="main">Hello World!</p>
    <img src="wallpaper.png">
</body>
</html>';

$dom = new DOMDocument();
$list=array();
$dom->loadHTML($html);
$elements = $dom->getElementsByTagName('*');
foreach($elements as $child)
{
  $list[]= $child->nodeName;
}
?>

答案:

Array ( [0] => html [1] => head [2] => meta [3] => title [4] => body [5] => p [6] => img )

答案 1 :(得分:-1)

使用HTML解析器读取字符串。快速Google表示您可以直接使用PHP执行此操作:http://php.net/manual/en/domdocument.loadhtml.php

我确信还有其他不错的HTML解析器。