我正在尝试替换字符串中的视频链接 - 这是我的代码:
$doc = new DOMDocument();
$doc->loadHTML($content);
foreach ($doc->getElementsByTagName("a") as $link)
{
$url = $link->getAttribute("href");
if(strpos($url, ".flv"))
{
echo $link->outerHTML();
}
}
不幸的是,outerHTML
当我试图获取像 <a href='http://www.myurl.com/video.flv'></a>
这样的完整超链接的 html 代码时不起作用
有什么想法可以实现吗?
最佳答案
从 PHP 5.3.6 开始,您可以将节点传递给 saveHtml
,例如
$domDocument->saveHtml($nodeToGetTheOuterHtmlFrom);
以前版本的 PHP 没有实现这种可能性。你必须使用 saveXml()
,但这会创建符合 XML 的标记。在 <a>
的情况下元素,但这应该不是问题。
参见 http://blog.gordon-oheim.biz/2011-03-17-The-DOM-Goodie-in-PHP-5.3.6/
关于php - 如何返回 DOMDocument 的外部 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5404941/