2013-01-01 58 views
1

我从数据库中获取一些数据,并且它具有HTML编码字符( )。有什么选择去除这些?删除HTML编码字符

我不想要这些渲染......我希望它们从数据中剥离。

目前我并不担心HTML标签......只是编码字符。

编辑:如果它是相关的这些字符在JSON验证中导致一些错误。

+0

你能阻止他们进入吗? –

+0

你如何输出JSON?在我看来,像JSON库应该能够轻松处理HTML编码字符的编码/解码。 – Horus

+0

@ErikPhilips在某些地方并不是真的需要它们,但是在datatable.net表中它们引发了问题。 – Jared

回答

1

如果你想摆脱他们,获得这样的字符或RegExp匹配他们所有(如&[a-z]+;)的列表并进行搜索和替换。

但是,如果您只希望它们由于JSON验证错误而离开,您应该正确生成/编码您的JSON以避免错误。 (但是,我不太了解它们如何导致无效的JSON。)

+0

每当它被编码/由'datatables.net'使用它导致验证问题(我相信)。 *第8行解析错误: ... ado“,”“BeginAllYourAdventur ----------------------^ 期待'}',':' '','''''' – Jared

+0

不知怎的,一个引号字符'''进来了,结束了字符串并搞乱了JSON。 '&'和';'在JSON中没有特殊的含义,''''我建议你创建一个展示整个问题的简单例子(包括生成的JSON),因为我相信它没有太多的关系一般的HTML实体。 –

0

只需通过regexp进行修剪不应该是一个选项。例如,&nbsp;也可以编码为&#160;,但&\#[0-9]+;正则表达式会导致数据丢失,因为几乎每个字符都可以像 (例如:<p>&#72;&#69;&#76;&#76;&#79;</p>)那样编码。