UEditor文本浏览器,引号加斜杠解决

UEditor输入的时候,总会在双引号前面加上“\”斜杠,每存一次就有一次,试了几种方法,都不行,后来查到是PHP的防注入功能生成的反斜杠。 html

    htmlspecialchars是一个函数,功能是把html标签转化为字符串html 函数

    htmlspecialchars_decode() 函数把一些预约义的 HTML 实体转换为字符。 网站

    记录一下这两种方法 spa

    

    PHP程序为了防止注入或者溢出,经过PHP 指令 magic_quotes_gpc自动在双引号、单引号、反斜杠、NULL前面添加反斜杠“\”。 code

    可是咱们为了读写html文档,里面天然有不少引号和双引号,这时候就要去掉添加的反斜杠。 htm

    默认PHP 指令 magic_quotes_gpc是on的,也就是打开的。这时候就能够用stripslashes() 函数删除自动添加的反斜杠。用法就是:好比包含字符串的变量是$str,那么就用stripslashes() 函数处理一下这个字符串:stripslashes($str),输出的结果就是去掉反斜杠的。 ip

    因而我就把读取的字符串内容用stripslashes()函数处理一下,即$str=stripslashes($str),再保存。上传网站以后正常了。 ci

    可是又出现另一个问题,那就是由于本地PHP 指令 magic_quotes_gpc是off的,若是用这个函数的话,就会把原本正常的反斜杠也去掉了。这样就不是咱们所但愿的了。 文档

    解决办法就是能够使用函数 get_magic_quotes_gpc() 进行检测,若是是打开的状态,那么就去除反斜杠,若是是关闭的状态,则不去除反斜杠。 字符串

程序代码以下:

$str=$_POST["str"];//读取str的内容赋值给$str变量

if(get_magic_quotes_gpc())//若是get_magic_quotes_gpc()是打开的

{ $str=stripslashes($str);//将字符串进行处理

相关文章
相关标签/搜索