本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
怎么转义字符串?
字符串可以用单引号''
、双引号""
、定界符<<<
3 种方式定义,其中最简单的方法就是使用单引号''
来定义字符串。当使用字符串时,字符串中很可能也需要使用这几个定义字符串的符号来作为字符串的一部分,为了避免混淆,就必须在这些符号的前面使用转移符\
。
\
是一个转义符,紧跟在\
后面的第一个字符将变为没有意义或特殊意义的字符。
例如,'
是定义字符串的特殊符号,而写成\'
后,就失去了它定义字符串的功能了,变为普通的单引号了。我们可以使用echo "\'";
来输出一个单引号,转义符\
不会显示。
PHP怎么转义字符串
方法1:使用addcslashes()函数
addcslashes() 函数返回在指定字符前添加反斜杠的字符串。
示例:在字符 “A” 之前添加一个反斜杠
<?php
$str = addcslashes("A001 A002 A003","A");
echo($str);
?>
addcslashes() 函数对大小写敏感。
注:对以下字符应用 addcslashes() 时请小心:0(NULL), r(回车), n(换行), f 换页)、t(制表符)以及 v(垂直制表符)。在 PHP 中,\0, \r, \n, \t, \f 以及 \v 是预定义的转义序列。
方法2:使用addslashes()函数
addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。
预定义字符是:
单引号(
'
)双引号(
"
)反斜杠(
\
)NULL
addslashes()函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。
示例:
<?php
header("Content-type:text/html;charset=utf-8");
$sql = "select * from php where website='PHP中文网'";
$str = addslashes($sql);
echo $str.'<br>';
?>
说明:默认地,PHP 对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。所以您不应对已转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。