这篇文章给大家分享的是有关php截取字符串几种方式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
创新互联专注于崇左网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供崇左营销型网站建设,崇左网站制作、崇左网页设计、崇左网站官网定制、微信平台小程序开发服务,打造崇左网络公司原创品牌,更为您提供崇左网站排名全网营销落地服务。
php截取方法:1、使用substr()截取,可以从字符串的指定位置截取一定长度的字符;2、使用mb_substr()截取,该函数可以从一个字符串中截取指定的一部分,不仅对英文字符有效,对中文字符同样有效。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑
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 参数
"; echo substr("Hello world",1,8)."
"; echo substr("Hello world",0,5)."
"; echo substr("Hello world",6,6)."
"; echo substr("Hello world",0,-1)."
"; echo substr("Hello world",-10,-2)."
"; echo substr("Hello world",0,-6)."
"; echo substr("Hello world",-2-3)."
"; ?>
输出:
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() 函数,截取指定长度的中文字符串
'; echo mb_substr($str, -19).'
'; echo mb_substr($str, 4, 6).'
'; echo mb_substr($str, 4, -16).'
'; echo mb_substr($str, -19, -13).'
'; echo mb_substr($str, -19, 6).'
'; var_dump(mb_substr($str, 40)); echo '
'; var_dump(mb_substr($str, 4, null)); ?>
运行结果如下:
创新互联,一个在线学习编程的网站。 创新互联,一个在线学习编程的网站。 创新互联 PHP 创新互联 创新互联 string(0) "" string(55) "创新互联,一个在线学习编程的网站。"
感谢各位的阅读!关于“php截取字符串几种方式”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!