我是PHP的新手。 我在字符串变量中有一些页面的body标签文本。 我想知道它是否包含一些标签...其中给出了标签名称tag1,如果是,则只从字符串中取出该标签。 我怎么能只用PHP做到这一点?
谢谢!
答案 0 :(得分:16)
你会看到这样的事情:
<?php
$content = "";
$doc = new DOMDocument();
$doc->load("example.html");
$items = $doc->getElementsByTagName('tag1');
if(count($items) > 0) //Only if tag1 items are found
{
foreach ($items as $tag1)
{
// Do something with $tag1->nodeValue and save your modifications
$content .= $tag1->nodeValue;
}
}
else
{
$content = $doc->saveHTML();
}
echo $content;
?>
DomDocument代表整个HTML或XML文档;作为文档树的根。因此,您将获得有效的标记,并且通过按标记名称查找元素,您将找不到评论。
答案 1 :(得分:2)
另一种可能性是正则表达式。
$matches = null;
$returnValue = preg_match_all('#<li.*?>(.*?)</li>#', 'abc', $matches);
$matches[0][x]
包含整个匹配项,例如<li class="small">list entry</li>
,$matches[1][x]
仅包含内部HTML,例如list entry
。