1

是的,我正在努力从我们的数据库中显示包含标记的数据!我正在显示的一个特定字段有一个开放的粗体标签,但没有关闭的粗体标签。我试图“包含”这个标记,所以它不会影响页面的其余部分。

来自我的数据库的数据是这样的文本:

this is soem nasty <b>data

(注意缺少结束</b>标签)

如果我将标记包含在 div 中,则页面的其余部分为粗体:

<div>this is some nasty <b>data</div>

但是,如果我将它包装在这样的表中:

<table><tr><td>this is some nasty <b>data</td></tr></table>

一切都很好!事实上,FF (FireBug) 和 IE9 的 DOM 检查器都显示了树。在 div-case 中,它显示了 open-b 标记和其中包含的文档的其余部分。但桌子似乎把它包围起来。

我怎样才能让它在没有桌子的情况下“关闭 b”?

4

3 回答 3

1

你正确地使用结束</b>标签,就像任何理智的人一样。

您可以使用DOMDocumentandtidy尝试修复格式错误的标记,以防您无法控制它,但最好在它到达数据库之前修复它。

于 2012-09-07T20:56:22.840 回答
0

I took a cue from HTML rich-text editors like TinyMCE and built up an IFrame. It seems to contain the arbitrary, possibly-mal-formed content better.

于 2012-11-28T13:18:57.843 回答
0

我在某处读到HTML Purifier应该能够实现这一点。可能值得一试。

于 2012-09-07T20:57:21.470 回答