我想接收一个包含文本中所有 h1 标签值的数组
例如,如果给定的输入字符串:
<h1>hello</h1>
<p>random text</p>
<h1>title number two!</h1>
我需要接收一个包含以下内容的数组:
titles[0] = 'hello',
titles[1] = 'title number two!'
我已经弄清楚如何获取字符串的第一个 h1 值,但我需要给定字符串中所有 h1 标签的所有值。
我目前正在使用它来接收第一个标签:
function getTextBetweenTags($string, $tagname)
{
$pattern = "/<$tagname ?.*>(.*)<\/$tagname>/";
preg_match($pattern, $string, $matches);
return $matches[1];
}
我将要解析的字符串传递给它,并将其作为 $tagname 放入“h1”中。
虽然不是我自己写的,我一直在尝试编辑代码来完成我想要的操作,但没有任何效果。
我希望有人能帮助我。
提前致谢。
你可以用简单的htmldom https://github.com/voku/simple_html_dom:
function getTextBetweenTags($string, $tagname) {
// Create DOM from string
$html = str_get_html($string);
$titles = array();
// Find all tags
foreach($html->find($tagname) as $element) {
$titles[] = $element->plaintext;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)