字符串的截取是PHP中比较常用的一项技巧,下面介绍几个比较常用大方法。

1.substr()函数

substr()

string substr ( string $string , int $start [, int $length ] )

说明:返回字符串 string 由 start 和 length 参数指定的子字符串。

示例:

<?php 
$str = 'dlfjdlfleer';
echo substr($str,0,6); //输出 dlfjdl

2.strstr()函数

strstr()

string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

说明: 返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。

Note:该函数区分大小写。如果想要不区分大小写,请使用 stristr()。

Note:如果你仅仅想确定 needle 是否存在于 haystack 中,请使用速度更快、耗费内存更少的 strpos() 函数

注意:如果字符串出现多次,以首次对为准

示例:

<?php 
$str = 'kdlfjdlfleer';
echo strstr($str,'d',true); // 输出 k

示例:

<?php 
$str = 'kdlfjdlfleer';
echo strstr($str,'j',true); //输出 kdlf

3.mb_substr()函数

mb_substr()

string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )

说明: 根据字符数执行一个多字节安全的 substr() 操作。 位置是从 str 的开始位置进行计数。 第一个字符的位置是 0。第二个字符的位置是 1,以此类推。

参数

str : 从该 string 中提取子字符串。

start : str 中要使用的第一个字符的位置。

length : str 中要使用的最大字符数。

encoding : encoding 参数为字符编码。如果省略,则使用内部字符编码。

返回值

mb_substr() 函数根据 start 和 length 参数返回 str 中指定的部分。

示例:

<?php 
$str = '每个人心里都有一颗火种';
echo mb_substr($str, 0,4,'utf-8');  //输出   每个人心

4.mb_strcut()函数

mb_strcut()

string mb_strcut ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] )

说明: mb_strcut() 和 mb_substr() 类似,都是从一个字符串中提取子字符串,但是按字节数来执行,而不是字符个数。 如果截断位置位于多字节字符两个字节的中间,将于该字符的第一个字节开始执行。 这也是和 substr() 函数的不同之处,后者简单地将字符串在字节之间截断,这将导致一个畸形的字节序列。

参数

str : 要截断的 string。

start : 起始位置,以字节为单位。

length : 字节长度。

encoding : encoding 参数为字符编码。如果省略,则使用内部字符编码。

返回值

mb_strcut() 函数根据 start 和 length 参数返回 str 中指定的部分。

示例:

<?php 
$str = '每个人心里都有一颗火种';
echo mb_strcut($str, 0,6,'utf-8'); //输出  每个

示例:

<?php 
$str = '每个人心里都有一颗火种';
echo mb_strcut($str, 0,5,'utf-8'); //输出  每