将MySQL数据库中的HTML加载到可信的标记时,浏览器的行为很奇怪

时间:2014-08-08 12:48:02

标签: php html mysql google-chrome

我的php文件中有一个简单的代码,如下所示:

echo "<p id='additional-info' contenteditable='true'>".$tag_data->additional_info."</p>";

$ tag_data-&gt; additional_info是从数据库加载的数据。我在这种情况下尝试加载的数据非常简单,它是:

line 1 <p>line 2</p><p>line 3</p>

现在问题就出现了,我希望浏览器(在我的情况下是谷歌浏览器)输出如下:

echo "<p id='additional-info' contenteditable='true'>line 1 <p>line 2</p><p>line 3</p></p>";

但相反,由于某种原因,它会输出:

<p id="additional-info" contenteditable="true">line 1 </p>
<p>line 2</p>
<p>line 3</p>
<p></p>

有人知道问题是什么吗?

1 个答案:

答案 0 :(得分:2)

看看这里 - &gt;根据它P element

The P element represents a paragraph. It cannot contain block-level elements (including P itself).

因此,Chrome会以这种方式显示它。

不确定您的想法是什么,但您可能想要使用<div class="text">...</div>并应用任何合适的样式。

编辑:进一步查看this answerP tag [HTML5]

中包含的元素列表