在PHP中有一项非常重要的技术,就是截取指定字符串中指定长度的字符。PHP对于字符串截取可以使用PHP预定义函数substr()函数来实现。下面就来介绍一下substr()函数的语法及其应用。
substr()函数语法格式如下:
substr(string, start, length);
substr()函数参数说明如下:
参 数 | 说 明 |
string | 指定字符串对象 |
start | 指定开始截取字符串的位置。如果参数start为负数,则从字符串的末尾开始截取 |
length | 可选参数,指定截取字符的个数,如果length为负数,则表示取到倒数第length个字符 |
说明:
start的指定位置是从0开始计算的,即字符串中的第一个字符的位置表示为0。
start 为正数据从左向右读取字符
start 为负数时就右向左读取字符
length 默认是直到字符串的结尾,正数 - 在字符串的指定位置开始,负数 - 在从字符串结尾的指定位置开始。
使用substr()函数截取字符串中指定长度的字符,实例的代码如下:
<?php echo substr("abcdefg",0); //从第0个字符开始截取 echo "<br>"; echo substr("abcdefg",2,4); //从第2个字符开始连续截取4个字符 echo "<br>"; echo substr("abcdefg",-4,2); //从倒数第4个字符开始截取2个字符 echo "<br>"; echo substr("abcdefg",0,-4); //从第0个字符开始截取,截取到倒数第4个字符 ?>
输出结果为:
abcdefg cdef de abc
在开发一些web程序时,为了保持整个页面的合理布局,经常需要对于一些超长的文本,只要求显示其中的部分信息。下面来通过具体的实例讲解一下其实现的方法。
使用substr()函数截取超长文本的部分字符串信息,剩余的部分使用"....."来代替,示例代码如下:
<?php $str="沪深证券交易所已发布“高送转”信息披露指引,实施“刨根问底”问询,开展对“高送转”内幕交易核查联动,集中查办了一批借“高送转”之名从事内幕交易或信息披露违规案件。"; if(strlen($str)>30){ //如果文本的字符串长度大于30 echo substr($str,0,30). "...."; //输出文本的前30个字节,然后输出省略号 }else{ echo $str; // 如果文本的字符串长度小于30,直接输出原文本 } ?>
输出结果为:
沪深证券交易所已发布....
说明:从指定的字符串中按照指定的位置截取一定长度的字符。通过substr()函数可以获取某个固定格式字符串中的一部分。
注意: 使用substr()函数在截取字符串时,如果截取的字符串个数是奇数,那么就会导致截取的中文字符串出现乱码,所以substr()函数适用于对英文字符串的截取,如果想要对中文字符串进行截取,而且要避免出现乱码,最好的方法就是应用substr()函数编写一个自定义函数。
以上是PHP截取字符串函数substr()函数实例用法详解的详细内容。更多信息请关注PHP中文网其他相关文章!