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

>백엔드 개발 >PHP 튜토리얼 >javascript - post和显示特殊字符的处理

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

WBOY
WBOY원래의
2016-06-06 20:35:081378검색

<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转义符

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.