Php 如何从HTML代码中获取所有标记?
如何从字符串中的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>
<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 )