PHP学习笔记(10)

2019-08-03 14:53

String addslashes(string str)

在预定义字符前添加\\这些预定义字符是:单引号,双引号,和反斜线。 注意:当php.ini中的magic_quotes_gpc设置为On时,不要再对从客户端传进来的字符串进行addslashes(),否则会导致双重转义。 可以使用get_magic_quotes_gpc()函数判断php.ini中的magic_quotes_gpc选项是否打开(On或Off)。

当php.ini的magic_quotes_gpc为Off时,构造一条SQL语句或为了防止SQL注入经常使用addslashes()函数。

stripslashes(string str)

删除字符串str中的反斜线。经常用于删除addslashes()添加的反斜线。当PHP中php.ini的magic_quotes_gpc为On时,POST,GET,Cookie中的特殊字符会自动转义,因此可以使用stripslashes(string str)函数删除转义符号反斜线。 6)

HTML特殊字符处理函数htmlspecialchars()和strip_tags()

HTML和XML中内建了4个预定义实体。

< > & " htmlspecialchars(string str)将str中的特殊字符(<,>,&,”)转换成对应的预定义实体。htmlspecialchars()适用场景:

当现实GET或者POST提交的字符串数据时,先使用htmlspecialchars()

< > & “ 函数对GET或POST字符串进行处理,防止用户提交HTML代码或JS代码破坏系统。

strip_tags()剔除Html,xml,JS,以及PHP中的标签。

7)字符串格式化函数

sprintf()和printf()

string sprintf(string format,arg1,arg2…argn)

format包含n个转换格式,每个转换格式以%开始,arg1,arg2.。。argn替换format中对应的转换格式。

转换格式 % b c d e f o s u x X

create by zhang on time 2013-7-7 下午03:40:46

说明 打印百分比符号,不转换 转换成二进制数 转换成对应的ASCII字符 转换成十进制数 可续计数法(比如:1.5e+3) 转换成浮点数 转换成8进制数 转换成字符串 转换成无符号十进制数 转换成小写十六进制 转换成大写十六进制 */

$a=\;

$text=sprintf(\br/>%s
%u
%x
%X
\, $a,$a,$a,$a,$a,$a,$a,$a,$a,$a); echo $text;

?>

1111011 { 123

1.230000e+2 123.000000 173 123.0 123 7b 7B

方法二:

$b=\;

$text1=sprintf(\/>%1\\$f
%1\\$o
%1\\$s
%1\\$u
%1\\$x
%1\\$X
\, $b);

echo $text1; ?>

1\\$是占位符,表示使用第一个参数$b的值

$money1=\; $money2=\;

$money=$money1+$money2;

echo sprintf(\,$money); ?>

小数点后保留两位0.2的0可以省略不写。

int printf(string format,arg1,arg2,arg3…argn)

将字符串format格式化后的字符串打印到浏览器页面上,并返回格式化后的字符串的长度。

字符串长度函数:

1)int strlne(string str)

返回字符串的长度 2)

int mb_strlen(string str[,string encoding])

该函数可以设置encoding编码方式解析字符串str。若将encoding设为GBK或GB2312,则使用中文字符解析方式解析字符串(将一个汉字按照两个字节解析。)UTF-8中中文是3个字节,GBK,gb2312是2个字节。 使用该函数时,要确保php.ini配置文件中配置选项 ;extension=php_mbstring.dll前面的;去掉

可以在php.ini中配置mb_strlen()函数的默认编码方式。将mbstring.internal_encoding

=

EUC-JP

mbstring.internal_encoding = GBK,重启服务器即可。

子字符串操作函数:

1) string substr(string str,int start[,int length]) 返回str从start索引和start+length之间的字符串。没有指定length的话返回start到结尾之间的字符串。substr()从中文字符串中取字串时,有可能导致乱码的产生。使用mb_substr()和mb_strcut()可以解决从中文字符中取字串时的乱码问题。 2) string mb_substr(string str,int start[,int length[,string encoding]])

将中文字符按照两个字节进行解析,解析时多余的一个字节舍去,从而避免乱码问题的产生。 如果php.ini中的mbstring.internal_encoding = GBK,此时可以省略编码方式encoding。

$str=\张风\;

echo mb_substr($str, 0,10,\);// yishaoku张风

3)string mb_strcut(string str,int start[,int length[,string encoding]])

和mb_substr()功能基本相同,区别是该函数将字符串中每个字符按照一个字节长度解析,对于占用两个字节的中文汉字,截取时多余的一个字节将舍去,从而避免乱码问题的产生。 $str=\张风\;

mb_strcut()默认编码方式是GBK,如果php.ini中的

mbstring.internal_encoding = GBK,此时可以省略编码方式encoding。

在字符串中查找子串的位置:

1) int strops(string str,string substr[,int offset]) 在str中以区分大小写方式查找substr第一次出现的索引,offset指定从str哪个索引开始查找。不存在的话返回false。

2) int strrops(string str,string substr[,int offset]) 在str中以区分大小写方式查找substr最后一次出现的索引,offset指定从str哪个索引开始查找。不存在的话返回false。

3)int mb_strpos(string str,string substr[,int offset[,string encoding]])

功能和strops()相同只是可以设置编码方式。用指定的编码解析字符串str

4)int mb_strrpos(string str,string substr[,int offset[,string encoding]])

功能和strrops()相同只是可以设置编码方式。用指定的编码解析字符串str

echo mb_strcut($str, 0,10,\);//yishaok张


PHP学习笔记(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:高中化学 第四章 非金属及其化合物 重难点6 常见漂白性物质及漂

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: