doumaojin4008 2016-04-19 04:47
浏览 45
已采纳

保留DomDocument中图像之间的换行符

Consider this php code:

$content = '<img />'."

".'<img />';
$doc = new DomDocument();
$doc->loadHTML($content);
echo $doc->saveHTML();

The output (including the wrapping HTML/body etc) gives me:

<img><img>

with no space between the images.

Calling:

$doc->preserveWhiteSpace = true;

doesn't change anything.

How do I preserve the white space in the original HTML?

  • 写回答

3条回答 默认 最新

  • dongyi9082 2016-04-19 06:26
    关注

    Answering my own question - it's buggy behaviour of an old version of libxml2:

    https://bugs.php.net/bug.php?id=50278

    This issue is solved by passing LIBXML_HTML_NODEFDTD as option when loading the document. This constant is available as of PHP 5.4.0 when libxml2 >= 2.7.8 is used. See http://3v4l.org/qs4TC.

    The shared server I'm on uses 2.7.6 so not sure it helps me, but I can see if they can upgrade. Hope this helps someone else.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 机器学习简单问题解决
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写