1、使用substr()截取字符串。
substr() 函数可以从字符串的指定位置截取一定长度的字符,这段被截取的字符可称为“子串”或者“子字符串”,其语法格式如下。
substr($string,$start [,$length])。
参数说明如下。
$string:需要截取的字符串,该字符串至少含有一个字符。
$start:截取字符串的起始位置。
如果 $start 是非负数,那么字符串将从 $string 的第 $start 个字符处开始截取,$start 从 0 开始计算.例如在字符串“abcdef”中,在 0 位置的字符是“a”,在 2 位置的字符串是 “c” 等等。
如果 $start 是负数,那么字符串将从 $string 结尾处向前数第 $start 个字符开始,$start 从 -1 开始计算.例如在字符串“abcdef”中,在 -1 位置的字符是“f”,在 -3 位置的字符是“d”等等。
如果 $string 的长度小于 $start,将返回 false
$length:可选参数,表示截取字符串的长度。
如果 $length 为正数,那么字符串将从 $start 位置向后截取最多 $length 个字符。
如果 $length 为负数,那么 $string 末尾的 $length 个字符将会被省略(若 $start 是负数则从字符串尾部算起)。
如果 $length 的值为 0,false 或 null,那么将返回一个空字符串。
如果没有提供 $length,那么返回的子字符串将从 $start 位置开始直到字符串的结尾。
示例:使用带有不同正负数的 start 和 length 参数。
<?php
echo substr("hello world",0,10)."<br>"
echo substr("hello world",1,8)."<br>"
echo substr("hello world",0,5)."<br>"
echo substr("hello world",6,6)."<br>"
echo substr("hello world",0,-1)."<br>"
echo substr("hello world",-10,-2)."<br>"
echo substr("hello world",0,-6)."<br>"
echo substr("hello world",-2-3)."<br>"
>
输出。
hello worl
ello wor
hello
world
hello worl
ello wor
hello
world
2、使用mb_substr()截取中文字符串。
mb_substr() 函数可以从一个字符串中截取指定的一部分,与 substr() 函数不同的是,mb_substr() 函数不仅对英文字符有效,对中文字符同样有效,其语法格式如下。
mb_substr($str,$start [,$length = null [,$encoding = mb_internal_encoding()]])。
参数说明如下。
$str:待截取的字符串,字符串中至少包含一个字符。
$start:截取字符串的起始位置。
如果 $start 为非负数,那么字符串会从 $str 的第 $start 个字符的位置开始截取。
如果 $start 是负数,那么字符串会从 $str 结尾处向前数第 $start 个字符的位置开始截取。
$length:可选参数,表示截取字符串的长度。
如果 $length 为正数,那么字符串将从 $start 位置向后截取最多 $length 个字符。
如果 $length 为负数,那么 $string 末尾的 $length 个字符将会被省略(若 $start 是负数则从字符串尾部算起)。
如果 $length 的值 null 或者省略 $length,则会截取到字符串的末尾。
$encoding:可选参数,表示 $str 的字符编码,如果省略,则使用内部字符编码。
示例:使用 mb_substr() 函数,截取指定长度的中文字符串。
<?php
$str = '欢迎访问php中文网,一个在线学习编程的网站.'
echo mb_substr($str,4).'<br>'
echo mb_substr($str,-19).'<br>'
echo mb_substr($str,4,6).'<br>'
echo mb_substr($str,4,-16).'<br>'
echo mb_substr($str,-19,-13).'<br>'
echo mb_substr($str,-19,6).'<br>'
var_dump(mb_substr($str,40))。
echo '<br>'
var_dump(mb_substr($str,4,null))。
>
运行结果如下。
php中文网,一个在线学习编程的网站。
php中文网,一个在线学习编程的网站。
php中文网。
php
php中文网。
php中文网。
string(0) ""
string(55) "php中文网,一个在线学习编程的网站."
- 编程问答
- 答案列表
Php中截取字符串的方法有哪些[朗读]
加入收藏