2011-10-18 63 views
0

在一个愚蠢的bug上花费了2个小时后,我意识到它是由输入包含缩进文本,子弹等文本的用户引起的(我正在谈论分类网站) 从而输出JSON我收到了一个错误..在输入mysql之前删除Word格式,输出JSON输出

我知道这是quetions的圣杯,但什么是简单,快速&肮脏的解决方案,以 干净的输出形式额外spece,标签空间等,所以JSON是有效的?

(当然会更好,先清理输入但那是另一个问题)

+0

你怎么生成这个json? PHP中的json_encode()会照顾任何会导致语法错乱的字符。 –

回答

1

我不知道,如果你正在寻找的是类似HTMLPurifier?您可以尝试demo

应该有一个很好的网站来验证JSON here

对不起,我不是英语。

  • 编辑:我只是重新读你的问题,这不是真的你在哪里寻找我认为,但我会留在这里,以防万一:)。
+0

太棒了!实际上,谢谢你回答我发现KSES,wordpress.cool – Francesco

+0

@camelCase另一个解决方案“纯净”的HTML是[tidy](http://php.net/tidy) – poplitea

1

json_encode()怎么样?

http://php.net/json_encode

这BTW是Marc B到问题的评论已经提到。我直到现在才看到 - 我很抱歉。 (已添加)

+0

+1我相信这确实会解决它。 – MrE

+0

我想使用json_encode但是如果我需要创建一个自定义JSON的名称不同于从mysql表名取得的名称? – Francesco

0

我知道如何处理这个问题的唯一方法就是在客户端的表单输入中完成它。基本上,当它到达服务器时,很难'清理'MS特殊字符。基本上,一个简单的Javascript函数绑定到一个表单元素上,将任何虚假角色转换为他们的UTF-8友好等价物是一种方式。看看这个链接:http://www.kevinkorb.com/post/37