php字符串函数非常多,这里 归为9类:
1. 字符串长度函数: utf-8编码 一个汉字占3个字节
gbk编码一个汉字占2个字节
/***
strlen是计算字符串“字节”长度
mb_strlen 是根据编码,计算字符串的“字符”个数
*/
2.查找字符串中子字符串的位置 strpos
$str = 'Aseoe is good';
strpos($str,'good'); //9 经过9字节后,找到good
strpos
/** ascii码表
65 - 90 , A - Z
97 - 122 , a - z
**/
//当你的第2个参数,写的是整型时,则把 理解为ascii字符的编码
//第3个offset的讨论
offset 的意思: 偏移量 (就是把光标先偏移一段距离,在查找,别从头查找)
echo strpos($str,'o',3);
stripos 查找不区分大小写
3. str_replace 子字符串替换
$str = 'hi,this is Aseoe';
$newstr = str_replace('hi','hello','$str');
$newstr2 = str_replace('hi','hello','$str',$num);
//$num 统计被替换了多少次
// 可以用数组参数,指定多种替换.
$search = array('hi','li'); $replace = array('hello','ul');
$newstr = str_replace($search,$replace,$str);
echo $newstr,
';
4. strtr 以单个字符对应来替换的
strtr($str,'hi','ab'); //执行 h->a ,i->b
strtr(str, from, to)注意是 单个字符对应, 以字节来替换的
全半角转换,用strstr非常方便
5. substr截取子字符串
string substr ( string $string , int $start [, int $length ] )// $string: 待截取的字符串
// start : 截取开始的位置
// $length: 正数时代表截取的长度 ,负数时代表截取结束的位置
当第3个参数不指定时,截取到字符串的“结尾”
echo substr ($str,3); //从第3个开始截取
|| 截取字符串末尾的3个字符:
办法1: 先算出length,再减3
$str ='bbs.aseoe.com';
$start = strlen($str) - 3;
echo substr($str,$start);
办法2: 起始位置填负数,从右往左数
echo substr($str,-3);
|| 截取字符串开头的3个字符:
//第三个参数为正数时,代表要截取的长度
echo substr($str,0,3);
|| 截取字符串除了开头与末尾的3个字符的中间字符串
echo sunstr($str,3,-3);
|| 截取字符串中间包含中英文的字符串
6. strstr 查找字符串的首次出现 返回该位置直到字符串结尾的这一部分
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
//strstr === strchr
$str = 'www.aseoe.com';
echo strstr($str,'.');
||截出$needle的位置之前的字符串
echo strstr($str,'.',true);
||截出$needle最后一次出现的位置截出来
echo strrchr($str,'.');
strrchr — 查找指定字符在字符串中的最后一次出现 (可以利用其算出文件的后缀)
7.字符串分割,翻转,拼接
str_spilt 将字符串转换成数组
str_spilt($str); //拆成数组,每个单元一个字符
str_spilt($str,2); //每个单元两个字符
字符串和数组的桥梁 explod和implode
//explode 根据指定的分隔符,把字符串拆成数组
$str = 'bbs,aseoe,com,爱思社区';
$arr = explode(',',$str);
print_r($arr);
//implode 根据指定的连接符,把数组在拼接成字符串
$arr = explode(',',$str);
implode('-',$arr);
chunk_split 将字符串分割成小块
$str = 'abcdefg';
echo chunk_split($str,3,','); //每隔3个长度,加一个",";
//不说明第3个参数,则加换行符
8. 字符转义函数
addslashes($str); //单引号转义成\'
stripslashes($str); //反转义
$str='<www.aseoe.com>';
htmlspecialchats($str); //特殊符号转义实体
htmlspecialchats_decode //实体转成符号
if(strcmp('a','e',)>0){ // 比较函数
echo 'a>a';
}
9.大小写转换
strtolwer($str); //全部变小写
strtoupper($str); //全部变大写
ucfirst($str); //每个单词首字母大写
ucfirst(strtolower($str)); //只有首字母大写
转载请注明出处:
爱思社区 http://bbs.aseoe.com/thread-1054-1-1.html
本站欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明: 文章转载自:爱思资源网 http://www.aseoe.com/show-21-78-1.html
转载请注明: 文章转载自:爱思资源网 http://www.aseoe.com/show-21-78-1.html