我问这个是因为我正在使用一种有效的技巧,但我认为将来会有问题。
我在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相同的技巧。
关键是,这是最终的代码,所以它可以工作,但是如果另一个进程取得这个结果,它会闻起来将来会失败。有没有更好的方法,正确的方法呢?
答案 0 :(得分:0)
使用php htmlspecialchars 功能,它可以逃脱
double-quotes to "
single-quotes to '