这种特殊字符的时候,虽然在php获取和取出的过程中都加了..."/> 这种特殊字符的时候,虽然在php获取和取出的过程中都加了...">

Heim >Backend-Entwicklung >PHP-Tutorial >javascript - post和显示特殊字符的处理

javascript - post和显示特殊字符的处理

WBOY
WBOYOriginal
2016-06-06 20:35:081379Durchsuche

<code><input type="text" value="测试'-">数据" />
</code>

显示结果如下图:
"javascript

好,问题来了,当我在input框中输入一般字符,保存到数据库和最终取回在input中取出显示没有问题。

当输入例入' " 这种特殊字符的时候,虽然在php获取和取出的过程中都加了\和去了\,但是最终这些字符都还是要在input中显示的,那就会造成html格式的错乱。

我现在的做法,用中文的‘和"替换英文的'和",然后还在post接收的时候替换成转义符,比如:

<code><        <   小于号或显示标记
>        >   大于号或显示标记
&   &   可用于显示其它特殊字符
"  "   引号
</code>

但始终不是最好的办法,请问:

1.好的处理方法怎么做?

2.在诸如kingeditor和fck这样的编辑器中又是怎么处理的?

.

回复内容:

<code><input type="text" value="测试'-">数据" />
</code>

显示结果如下图:
"javascript

好,问题来了,当我在input框中输入一般字符,保存到数据库和最终取回在input中取出显示没有问题。

当输入例入' " 这种特殊字符的时候,虽然在php获取和取出的过程中都加了\和去了\,但是最终这些字符都还是要在input中显示的,那就会造成html格式的错乱。

我现在的做法,用中文的‘和"替换英文的'和",然后还在post接收的时候替换成转义符,比如:

<code><        <   小于号或显示标记
>        >   大于号或显示标记
&   &   可用于显示其它特殊字符
"  "   引号
</code>

但始终不是最好的办法,请问:

1.好的处理方法怎么做?

2.在诸如kingeditor和fck这样的编辑器中又是怎么处理的?

.

输出时转义即可
htmlspecialchars()

很明显,你就不应该这样转义。

你应该要把双引号转成 " 这类字符的嘛。

自己来结贴:
1.sql写入前用addslashes()对特殊字符加斜杠
2.sql取出后用tripslashes()对特殊字符去斜杠
3.输出html时使用htmspecialchars()把特殊字符转成html转义符

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn