Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从HTML代码中获取所有标记?_Php_Html - Fatal编程技术网

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

Php 如何从HTML代码中获取所有标记?,php,html,Php,Html,如何从字符串中的HTML代码中获取所有标记 例如: $HTML = <<<HTML <html> <head> <meta charset="UTF-8"> <title>Hello World!</title> </head> <body> <p id="main">Hello World!</p>

如何从字符串中的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);

打印输出-具有id属性的标记:

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

仅供参考,我是HTML新手。

使用HTML解析器读取字符串。快速的谷歌搜索表明,您可以直接使用PHP实现这一点:


我敢肯定还有其他像样的HTML解析器可用。

除了打印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;
}
?>

heredoc与该问题无关
$HTML
是一个与其他字符串类似的字符串。@Havenard那么我只能将
$HTML
声明为字符串吗?
<?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 )