我尝试使用此
获取html中的iframe的srcpreg_match('/src=\'([^\']+)\'/', $fresult, $match);
但这段代码有时会失败。
有些人认为我使用的是DomDocument但是我找不到一个reg exp样本$doc = new DOMDocument();
$doc->loadHTML($html);
foreach ($tags as $tag) {
echo $tag->nodeValue;
}
如何获取帧的src值?
样本
<iframe src='test.com' />
我应该有test.com
我怎么做preg_match_all相当于DomDocument?
像这样<html>
<label class="su">test1</label>
<label class="su">test2</label>
<label class="su">test3</label>
</html>
我应该有test1,test2和test3的数组结果
我是这个dom php的新手。所以请不要苛刻。感谢
答案 0 :(得分:3)
首先,欢迎来到Stack Overflow!请不要在DOM文档上使用正则表达式(请参阅此处why)。相反,请坚持PHP DomDocument。
也就是说,你可能会得到一个iframe标签和src:
$doc = new DOMDocument();
$doc->loadHTML(...);
$frame= $doc->getElementsByTagName('iframe')->item(0);
$src = $frame->getAttribute('src');
关于第二个问题,您可能需要查看DOMXPath:
$doc = new DOMDocument();
$doc->loadHTMLFile(...);
$xp = new DOMXPath($dom);
$labels = $xp->query('//label[@class="su"]');