php的转义字符
来源:互联网 发布:山东省网络作家协会 编辑:程序博客网 时间:2024/06/05 04:34
- php用什么方法可以将一个字符串中所有特殊字符转义输出?
PHP5.5以后废弃了mysql扩展,可以转用mysqli或者pdo_mysql,所以mysql_real_escape_string函数,如果用mysqli的话可以用mysqli_real_escape_string代替
不过建议用pdo_mysql,使用预处理语句提高安全性。
htmlspecialchars
单双引号、大于和小于号等转化成HTML格式;
htmlentities
所有字符都转成HTML格式;addslashes
单双引号、反斜线及NULL加上反斜线转义如果你用了
pdo
就不用考虑数据库操作上注入等问题了,pdo
自带的预处理可以有效的防治sql
注入以及特殊字符的处理。如果你不用
pdo
那就得自己做好过滤处理了,如下推荐一个方法,仅供参考
function isEscape($val, $isboor = false) { if (! get_magic_quotes_gpc ()) { $val = addslashes ( $val ); } if ($isboor) { $val = strtr ( $val, array ( "%" => "\%", "_" => "\_" ) ); } return $val;}
-
Mysql LIKE中特殊字符转义【附php实现函数】原文:http://m.blog.csdn.net/u010320127/article/details/8834637
- 提要:Mysql的LIKE的转义和普通字符串的不同。
首先来看一个测试:
可以看出”\\\\“在LIKE中转义成”\“,LIKE的转义和平时用的字符串的转义还是有点不一样的。
查了下官方文档,对于转义字符的解释:
mysql自己的parser转义一次,然后LIKE的pattern对前面的结果再转义一次。
也就是说上例中的“\\\\”第一次转义成“\\”,第二次才是“\”。
再来看个mysql字符转义的测试
呵呵,什么都转义(比如"\x" 转义成“x”,“\b"是回退字符),就是不转义”\%“和”\_“。而LIKE,都转义。恐怕MYSQL这样做的目的也是为了兼容LIKE吧。总结下,LIKE转义字符串时,一共两次,第一次不转义”\%“和”\_“,第二次全部转义。转义的特殊字符可以参见 http://dev.mysql.com/doc/refman/5.1/en/string-literals.html#character-escape-sequences
LIKE的转义可以看成先替换“\\\\”为“\”,剩下的字符串用”\\“转义,剩下的字符串再用”\"转义。通常不遇见“\\”, LIKE的特殊解析是感觉不到的。
下面附上PHP的LIKE转义代码:
- php的转义字符
- php中对特殊字符的转义
- php HTML转义字符
- php中的转义字符
- php--字符转义
- php中的转义字符
- PHP 转义字符
- PHP中的字符转义
- PHP转义字符
- 转义特殊字符 php
- PHP字符转义相关函数小结(php下的转义字符串)
- PHP自动转换转义字符
- PHP:元字符与转义
- php json中文字符转义
- 转义字符 转义字符的意义
- php 不转义中文字符的 json 编码方法
- (PHP)正则表达式-preg_quote-转义正则表达式字符的用法
- PHP针对HTML实体字符的转义函数
- 双数组字典树 DoubleArrayTrie (下)
- c/c++经典面试题
- Qt调用zlib压缩解压文件
- service tomcat does not support chkconfig 的解决办法:
- jQuery-EasyUI-DataGrid 数据表格
- php的转义字符
- Hanoi Tower汉诺塔问题函数递归算法分析及相应python代码
- 微信支付 MD5加密 、xml转Map/Json 、 Map转xml
- js地理位置管理
- 增强学习系列之(二):实现一个简单的增强学习的例子
- windows下用eclipse+goclipse插件
- 第3章 IAR编程
- 验证用户名,手机号,ip地址,邮箱,url,密码,汉字等等的工具类
- C语言面试题---逻辑短路问题