【发布时间】:2018-01-14 12:38:57
【问题描述】:
我有这个 HTML 内容:
$test = '<section><div class="row">
<div class="col-xs-12" data-type="container-content">
<section data-type="component-photo"><div class="photo-panel">
<img src="http://somewhere.com/XpV8lCLD6pChrysanthemum.jpg" width="100%" height="" style="display: inline-block;">
</div></section></div>
</div></section>';
我有这个 str_replace 代码,以便它为 img 添加一个结束标记:
$new = str_replace('"></div>', '"/></div>', $test);
echo $new;
使用检查元素检查时,图像未按预期关闭。我在这里做错了什么?
补充说明:
我需要 PHPWord 的结束标记才能工作。此外,$test 的值来自 $_POST,因为这是通过 AJAX 提供的。
谢谢
【问题讨论】:
-
因为有换行符
-
我尝试删除换行符但内容没有被替换
-
检查元素(在 chrome 中?)永远不会在 img 上显示结束斜线。不需要,因为 img 元素是隐式自关闭的。除非您想使用严格的 xhtml 而不是更常见的 html 语言,否则您永远不需要用 /> 关闭 img 标签。对于 hr、br、input 和 meta 等元素也是如此。
-
@René 我正在使用 PHPWord,当一个 img 标签丢失时它正在关闭
/它返回一个错误。 -
这是添加到您的问题中的重要信息。您确实说了一些关于“检查元素”(在未知浏览器中)的内容,但关闭它与浏览器无关,考虑到这一点,我认为这是一个无关紧要的问题。