在php代码中字符串函数是PHP的核心组成部分,有着许多类型对各种字符串处理的一些函数.
我们在处理字符串时,用到比较多的就是字符串截取了.
那么在php代码中都有哪些常用的字符串截取方式呢?
1.substr(字符串,开始位置,长度),它可以快速的从指定位数开始截取固定长度的字符串.
<?php
$zifu ="wqtool.com";
echo substr($zifu,3);
echo substr($zifu,2,4);
echo substr($zifu,-3);
?>
输出结果分别为:
从字符串的第三位截取开始,返回剩下的部分ool.com
从第二位开始截取,返回接下来的4个字符tool
参数为负数,-3时则从结尾开始取com
当字符串里出现中文时,由于汉字是两个字节而英文只有一个字节所以容易出现乱码.
这时候我们会需要开启php.ini里的extension=php_mbstring扩展
mb_substr与substr用法一样.
<?php
echo mb_substr("文字内容",2,1,"UTF-8");
?>
输出结果为:内
无论substr与mb_substr,都是从指定位数开始返回剩下的部分,那么怎样反过来返回之前的字符呢?
代码如下:
<?php
$weishu=3;
echo mb_substr( "文字内容", 0, mb_strlen( "文字内容", 'utf8' )-$weishu );
?>
mb_substr是从第3位为开始向后面截取,那么为了向之前截取,那么开始值就得设置位0,然后计算指定字符串的字符个数再减去指定的位数就得到了向之前截取的长度了.
以上是指定位数开始截取,能否扩展下指定的字符开始截取该怎样实现呢?
代码如下:
<?php
echo substr("abcde",stripos( "abcde", "c" ));
echo substr("abcde",0,stripos( "abcde", "c" ));
?>
以上分别会输出:de、ab
原理也很简单,通过stripos查找指定字符"c"在abcde字符中第一次出现的位置,就可以实现指定字符串开始向左或向右截取字符了。
以上就是一些在php常见的对字符串截取进行处理的几种方式.