PHP的对于字符串的处理还是比较强大的,毕竟作为一门脚本语言,这个功能的需求量还是很大的,下面我们来总结一下字符串的常用函数把:
第一个类:字符串长度
对于英文的字符串,直接使用strlen($str)即可,对于汉字,则通常需要mb_strlen。
第二类:字符串去空格
说明:这个直接用echo显示带很多空格的字符串是没有意义的,因为HTML在显示的时候会自动把多个空格当成一个空格,这就导致了,虽然我们有很多空格,但是给人的感觉是只有一个空格。
trim用于去掉两边的空格,ltrim函数用于去掉左边的空格,rtrim用于去掉右边的空格。
代码演示:
<?php
$xin = " Hello world";
var_dump($xin);
$xg = trim($xin);
echo "去除空格之后:",$xg;
echo "长度:",strlen($xg);
第三类:分割字符串成为数组
可以使用str_split($str,len) 它的作用是把$str按照len的长度进行分割并且返回一个数组
split(search,$str[,int]):它是把$str按照search来进行分割返回数组,int是分割的次数,达到该次数之后,后面的内容将不会重新分割
下面是代码演示:
<?php
$xin = "woshixinguimengnishishui";
$arr = str_split($xin,2);
var_dump($arr);
下面是输出结果:
<pre name="code" class="sql">array (size=12)
0 => string 'wo' (length=2)
1 => string 'sh' (length=2)
2 => string 'ix' (length=2)
3 => string 'in' (length=2)
4 => string 'gu' (length=2)
5 => string 'im' (length=2)
6 => string 'en' (length=2)
7 => string 'gn' (length=2)
8 => string 'is' (length=2)
9 => string 'hi' (length=2)
10 => string 'sh' (length=2)
11 => string 'ui' (length=2)
第四类:大小写转换
strtolower($str)会把字符串转换为小写,strtoupper($str)会将字符串转换为大写
<?php
$xin = "woshixinnishishui";
$arr = strtoupper($xin);
var_dump($arr);
输出效果如下:
string 'WOSHIXINNISHISHUI' (length=24)
第五类:安全函数
addslashes会自动对字符串中的单引号、双引号和反斜线加上转义符号,而stripslashes则是去除字符串中的反斜线。
代码示例:
<?php
$xin = "wo'sh'ix\\'inguimengnishishui";
$arr = addslashes($xin);
var_dump($arr);
$arr2 = stripslashes($xin);
var_dump($arr2);
效果如下:
string 'wo\'sh\'ix\\\'inguimengnishishui' (length=32)
string 'wo'sh'ix'inguimengnishishui' (length=27)
第六类:提取子字符串(双字节)
submit($str,int start [,int length]):从$str中的start位置开始提取length长度的字符串
strstr($str1,$str2):从$str1的第一个位置开水搜索$str2,并且从它 开始截取到结束字符串,若没有,则返回
strchr和strstr是同名函数,它们都可以接收第三个参数,是一个布尔类型的变量。它用来判断是从前面截取还是从后面截取,如果为true,则从前面截取,否则从后面截取。
示例代码:
<?php
$xin = "woxiomengxishi";
$str = "xi";
$a = strstr($xin,$str);
var_dump($a);
$b = strchr($xin,$str,True);
var_dump($b);
效果:
string 'xiomengxishi' (length=12)
string 'wo' (length=2)