php字符串处理

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

在字符串中的新行( )之前插入换行符:

echo nl2br("One line.
Another line.");

以上代码的浏览器输出:

One line.
Another line.

以上代码的 HTML 输入(查看源代码):

One line.<br />
Another line.

nl2br() 函数在字符串中的每个新行( )之前插入 HTML 换行符(<br> 或 <br />)。

nl2p

nl2br 有个缺点,比如要用CSS做到段落缩进就比较麻烦,这个时候就需要 nl2p 了。将br换行换成段落p换行,比较简单是直接替换:

function nl2p($text) {
  return "<p>" . str_replace("
", "</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

原文地址:https://www.cnblogs.com/blueskycc/p/5149655.html