原始的提问,关于PHP新增,修改这个过程中文本框的内容的处理的过程步骤。
我现在真的是找不到好的方法。涉及到的步骤【新增】【修改】第一步【新增】输入文本框中含有html标签
→
提交内容,PHP程序进行htmlspecialchars替换一次
→
写入数据库
→
完成#############################################################
第二步【修改】
获取数据库中的
→
直接输出到文本框
→
用户修改,修改的时候发现这个原先输入的是<>’ ‘之类的都变成了> ≷ 等。了
→
直接提交
→
PHP再次过滤HTML,写入数据库中
→
完成
→
结果被htmlspecialchars了又一次,如果再修改一次又会被再htmlspecialchars一次。
#############################################################
不知道大家的是怎么解决的啊?
假如修改→提交的时候不htmlspecialchars,那么可能他里面包含了很多的HTML标签,危害很大,但是假如修改的话,可能原先的也被再次htmlspecialchars一次了。#############################################################
另外一种方法,再修改的时候提取数据库中的数据后进行htmlspecialchars反过来一次,但是这样的话里面的一些标签可能被解析,整个PHP程序都不运行了。如何解决这个问题?希望大家讨论下各自的内容修改过程。
我现在真的是找不到好的方法。涉及到的步骤【新增】【修改】第一步【新增】输入文本框中含有html标签
→
提交内容,PHP程序进行htmlspecialchars替换一次
→
写入数据库
→
完成#############################################################
第二步【修改】
获取数据库中的
→
直接输出到文本框
→
用户修改,修改的时候发现这个原先输入的是<>’ ‘之类的都变成了> ≷ 等。了
→
直接提交
→
PHP再次过滤HTML,写入数据库中
→
完成
→
结果被htmlspecialchars了又一次,如果再修改一次又会被再htmlspecialchars一次。
#############################################################
不知道大家的是怎么解决的啊?
假如修改→提交的时候不htmlspecialchars,那么可能他里面包含了很多的HTML标签,危害很大,但是假如修改的话,可能原先的也被再次htmlspecialchars一次了。#############################################################
另外一种方法,再修改的时候提取数据库中的数据后进行htmlspecialchars反过来一次,但是这样的话里面的一些标签可能被解析,整个PHP程序都不运行了。如何解决这个问题?希望大家讨论下各自的内容修改过程。
关键是修改的时候怎么弄?
或者存时先htmlspecialchars;,修改时再转回到表单,函数有解码函数