在php中获取html标记
我希望在php中获得特定元素的标记,我想我可以通过preg_match实现这一点,但我不确定 基本上我有这样的想法:在php中获取html标记,php,html,preg-match,Php,Html,Preg Match,我希望在php中获得特定元素的标记,我想我可以通过preg_match实现这一点,但我不确定 基本上我有这样的想法: <label>Some Jazz</label> 一些爵士乐 我想做的是: 如果tag=label,那么就做些什么,否则就做些别的 问题是从html标记获取标签部分。我是怎么找到这个的。无论你的想法多么受欢迎 我没有提到我不想要“一些爵士乐”,我想看看标签是不是标签这是在参考一些答案,它让我知道标记之间的内容,而不是标记本身。我非常喜欢使用简单的HTM
<label>Some Jazz</label>
一些爵士乐
我想做的是:
如果tag=label,那么就做些什么,否则就做些别的
问题是从html标记获取标签部分。我是怎么找到这个的。无论你的想法多么受欢迎
我没有提到我不想要“一些爵士乐”,我想看看标签是不是标签这是在参考一些答案,它让我知道标记之间的内容,而不是标记本身。我非常喜欢使用简单的HTML DOM进行解析
http://simplehtmldom.sourceforge.net/
看看是不是:
<?php
//External html or you can set this by string
$html = file_get_contents("http://example.com/");
//Parse html to object
$doc = new DOMDocument();
@$doc->loadHTML($html); //To prevent some html errors
//Labels
$labels = $doc->getElementsByTagName('label');
//For each label
for ($i = 0; $i < $labels->length; $i++) {
$label = $labels->item($i);
//Check label value
if($label->nodeValue == 'something') {
//Do something
}
else {
//Do something
}
}
?>
参考代码,如果HTML变得更加复杂,您可能需要考虑使用XPath。请参阅我建议使用的示例:。这没有帮助,因为我不关心值,我关心标记。忽略值部分,不是您想要的吗?通过脚本,我发布了一个答案,你可以得到标签标签。如果上载的html没有标记标签,则方法getElementsByTagName
返回0。