2014-08-31 87 views
0

如何从字符串中的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新手。

+0

的定界符不具有相关性的问题。 '$ HTML'是一个像其他任何字符串一样的字符串。 – Havenard 2014-08-31 00:59:17

+0

@Havenard所以我必须声明'$ Html'只能作为一个字符串? – Slowaways 2014-08-31 01:04:54

+0

你已经是。 – Havenard 2014-08-31 01:10:06

回答

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) 
+0

非常感谢! – Slowaways 2014-08-31 01:42:33

相关问题