php - 如何返回 DOMDocument 的外部 html?

标签 php dom outerhtml

我正在尝试替换字符串中的视频链接 - 这是我的代码:

$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/

相关文章:

php - 使用 PHP 上传和显示时扭曲和不扭曲图像

PHP 流包装器和带代理的 Windows 证书存储

javascript - 如何捕获在 contenteditable div 内单击的特定字符

javascript - 可以通过从 Javascript 中的字符串加载 HTML 来创建自定义 "DOMs"吗?

javascript - 使用 Javascript 从 DOM 元素添加/删除类的最有效方法是什么?

javascript - 创建一个包含 Doctype 的新 HTML 文档

php - 从 preg_split 结果数组中删除空项

php - 如何半快速地创建大型 pdf

javascript - 为什么获取外部 HTML 不起作用?