在HTML表单中处理JSON

时间:2014-01-22 22:28:21

标签: javascript php html json

我问这个是因为我正在使用一种有效的技巧,但我认为将来会有问题。

我在php中使用SimpleXML和DOM生成一个html表单来管理源代码(一个需要所有表单的html文件)。所以我得到了我的表格,并填写了一些属性。这是一个例子:

<input type="hidden" name="arquivo_tipos" value="{arquivo_tipos}" />

{arquivos_tipos}是一个JSON字符串,在双引号内不起作用。但是,如果我创建这样的源代码:

<input type="hidden" name="arquivo_tipos" value='{arquivo_tipos}' />

在被php处理之后,它将返回双引号(我从很多方面选择表单作为xml节点)。所以我的解决方案是用这种脚本替换属性:

html = html.replace('"{arquivo_tipos}"', '\'[{"ext":"jpg","nome":"Imagem JPEG"},{"ext":"jpeg","nome":"Imagem JPEG"},{"ext":"gif","nome":"Bitmap GIF"},{"ext":"png","nome":"Imagem PNG"}]\'');

这是JavaScript,但在php中我使用与str_replace相同的技巧。

关键是,这是最终的代码,所以它可以工作,但是如果另一个进程取得这个结果,它会闻起来将来会失败。有没有更好的方法,正确的方法呢?

1 个答案:

答案 0 :(得分:0)

使用php htmlspecialchars 功能,它可以逃脱

double-quotes to &quot;
single-quotes to &#039;

http://tw1.php.net/htmlspecialchars