php分割字符串的函数
1,substr
$str1 = substr($str,5); echo "从第5个字符开始取至最后:".$str1."; $str2 = substr($str,9,4); echo "从第9个字符开始取4个字符:".$str2."; $str3 = substr($str,-5); echo "取倒数5个字符:".$str3."; $str4 = substr($str,-8,4); echo "从倒数第8个字符开始向后取4个字符:".$str4."; $str5 = substr($str,-8,-2); echo "从倒数第8个字符开始取到倒数第2个字符为止:".$str5.";
2,mb_substr
mb_substr( $str, $start, $length, $encoding )
$str,需要截断的字符串
$start,截断开始处,起始处为0
$length,要截取的字数
$encoding,网页编码,如utf-8,GB2312,GBK
实例
<?php $str='脚本之家:http://www.jb51.net'; echo mb_substr($str,0,4,'utf-8');//截取头5个字,假定此代码所在php文件的编码为utf-8 ?> 结果显示:脚本之家
3,mb_strlen()
获取中文长度:mb_strlen()
mb_strlen( $str, $encoding )
$str,要计算长度的字符串
$encoding,网页编码,如utf-8,GB2312,GBK
<?php $str='脚本之家:http://www.jb51.net'; echo mb_strlen($str,'utf-8');//假定此代码所在php文件的编码为utf-8 ?> 结果显示:24
4,strrpos()
定义和用法
strrpos() 函数查找字符串在另一个字符串中最后一次出现的位置。
如果成功,则返回位置,否则返回 false。
语法
strrpos(string,find,start)
参数 描述
string 必需。规定被搜索的字符串。
find 必需。规定要查找的字符。
start 可选。规定开始搜索的位置。
提示和注释
注释:该函数对大小写敏感。如需进行大小写不敏感的查找,请使用 strripos()。
<?php echo strrpos("Hello world!","wo"); ?> 输出:6
4,strripos()
定义和用法
strripos() 函数查找字符串在另一个字符串中最后一次出现的位置。
如果成功,则返回位置,否则返回 false。
语法
strrpos(string,find,start)
参数 描述
string 必需。规定被搜索的字符串。
find 必需。规定要查找的字符。
start 可选。规定开始搜索的位置。
提示和注释
注释:该函数对大小写不敏感。
<?php echo strripos("Hello world!","WO"); ?>
trim,ltrim,rtrim
nlbr
在字符串中的新行(\n)之前插入换行符:
echo nl2br("One line.\nAnother line.");
以上代码的浏览器输出:
One line.
Another line.
以上代码的 HTML 输入(查看源代码):
One line.<br />
Another line.
nl2br() 函数在字符串中的每个新行(\n)之前插入 HTML 换行符(<br> 或 <br />)。
nl2p
nl2br 有个缺点,比如要用CSS做到段落缩进就比较麻烦,这个时候就需要 nl2p 了。将br换行换成段落p换行,比较简单是直接替换:
function nl2p($text) { return "<p>" . str_replace("\n", "</p><p>", $text) . "</p>"; }
strtr
把字符串中的字符 "ia" 替换为 "eo":
echo strtr("Hilla Warld","ia","eo");
结果:
hello world
定义和用法
strtr() 函数转换字符串中特定的字符。
注释:如果 from 和 to 参数的长度不同,则会被格式化为最短的长度。
语法
strtr(string,from,to)
或者:
strtr(string,array)
把字符串 "Hello world" 替换成 "Hi earth":
$arr = array("Hello" => "Hi", "world" => "earth"); echo strtr("Hello world",$arr);
结果:
Hi earth
strstr和strcchr的区别
strstr 显示第一次找到,要查找的字符串,以及后面的字符串。
strrchr 显示最后一次找到,要查找的字符串,以及后面的字符串。
$email = 'test@test.com@jb51.net'; $domain = strstr($email, '@'); echo "strstr 测试结果 $domain<br>"; $domain = strrchr($email, '@'); echo "strrchr 测试结果 $domain<br>";
结果如下:
strstr 测试结果 @test.com@jb51.net
strrchr 测试结果 @jb51.net
二、strstr和stristr的区别
strstr是大小写敏感的。
stristr是大小写不敏感的
$email = 'zhangYing@jb51.net'; $domain = strstr($email, 'y'); echo "strstr 测试结果 $domain<br>"; $domain = stristr($email, 'y'); echo "stristr 测试结果 $domain<br>";
结果如下:
strstr 测试结果
stristr 测试结果 Ying@jb51.net