周六有时间,然后就在那里捣鼓邮件API的问题,不过邮件内容为html时总是会转义,结果……一下午,都不知在干什么,于是找人问,结果他们的SB VPS上面,都没转义,只有可悲的万网……转义了。刚开始也不知道什么情况,最后QQ上问了下张戈,结果他说了下转义,然后,问了下度娘,发现了问题。
简单输出后,其中的html代码部分被加了反斜杠\
<?php echo $_POST['text'] ?>
是否自动转义都是源于服务器的配置中magic_quotes_gpc,magic_quotes_runtime,magic_quotes_sybase这几个函数是否被开启。
magic_quotes_gpc函数
影响到 HTTP 请求数据(GET、POST 和 COOKIE)不能在运行时改变。在 PHP 中默认值为 on。
magic_quotes_runtime函数
如果打开的话,大部份从外部来源取得数据并返回的函数,包括从数据库和文本文件,所返回的数据都会被反斜线转义。该选项可在运行的时改变,在 PHP 中的默认值为 off。
magic_quotes_sybase函数
如果打开的话,将会使用单引号对单引号进行转义而非反斜线。此选项会完全覆盖 magic_quotes_gpc。如果同时打开两个选项的话,单引号将会被转义成 ”。而双引号、反斜线 和 NULL 字符将不会进行转义。
对于用虚拟主机的,上面那些就呵呵吧,不是自己能控制的。
那就使用IF检测一下是否被转义吧,顺被再改回来。当然如果可以改php.in就没必要那样。
<?php function delescape(){ if (isset($_POST['text'])) {//检测POST数据是否存在 $text = $_POST['text']; //将POST数据赋值 if (get_magic_quotes_gpc()) $text = stripslashes($text);//删除addslashes() } } ?>
简单操作后,放在万网的邮件API终于正常了,另使用邮件API已经可以了,妈妈再也不用担心没法用SMTP了。
为啥,我的评论不行
2016年7月18日 12:37技术文章,好像我曾经也遇到过,学习了
2015年5月28日 09:54嗯,最讨厌转义了
2015年5月28日 12:51学习学习,新技能get
2015年5月19日 11:10哈哈
2015年5月19日 12:44get√,以后备用!
2015年5月18日 09:18哈哈,只是简单的转义啦
2015年5月18日 12:46那个那个飞来飞去的小人咋弄的,好玩
2015年5月17日 22:27http://ihuan.me/2107.html 看这里……
2015年5月18日 12:47好清新,好漂亮的博客啊,博主还是位技术MM吗?大赞。。。。。贵站已经被微部落博客大全收录,欢迎常来互访,来访IP纪录首页展示,会给你带来不错的流量哦。
2015年5月17日 22:26基佬一枚
2015年5月18日 12:47昨天来网站打不开呀
2015年5月17日 21:08在那里调试邮件API发送,给弄坏了
2015年5月18日 12:47咿呀呀,再测试一下邮件API回复可用性
2015年5月17日 15:07回复邮件提醒测试
2015年5月17日 15:08