首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP关闭或修复损坏的img标记

使用PHP关闭或修复损坏的img标记
EN

Stack Overflow用户
提问于 2014-09-15 10:36:38
回答 1查看 1.5K关注 0票数 2

我在使用PHP修复一个“坏了的”html字符串时遇到了麻烦

我面临着在html字符串上使用substr的常见问题,这会导致标记的断裂。

我已经修复了所有破损的标签,除了图像标签,因为标签本身还没有完成,它甚至不是一个开始标记,

例如,假设您有一个字符串:

代码语言:javascript
复制
<div><img alt="foo" title="bar" 

我真的想要添加一个>来关闭它,而我的其他脚本知道如何自动关闭div

有没有人对如何捕获破损的<img>标记并自动修复它们有任何想法?

我见过许多解决方案,包括DOMdocument、tidy和HTMLpurifier,但它们似乎没有解决这个特定的问题。

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-15 10:46:14

是的,您可以使用DOMDocument修复标签。(根据实例):

代码语言:javascript
复制
$html = '<div><img alt="foo" title="bar"';
$dom = new DOMDocument();
libxml_use_internal_errors(true);
$dom->loadHTML($html);
libxml_clear_errors();

$out = '';
foreach ($dom->getElementsByTagName('body')->item(0)->childNodes as $child) {
    $out .= $dom->saveXML($child);
}
echo htmlentities($out);

  • Fiddle demo
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25846098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档