JS PHP字符串截取函数实现原理解析
作者:梁栋
js有三个:slice() substring() substr()
一般都用substr(start,length),第一个参数是开始位置的下标 必须,可以为负数,下标-1 是指字符串中最后一个字符,下标-2 是指倒数第二个字符,以此类推;第二个参数是要截取子串的长度 可选,截取的方向都是从左往右,不会改变。
截取出来的子串包含起始位置自己
PS:字符串的索引都从0开始计起
. 空格都是字符
substring(from,until) slice(from,until)都是从一个索引截取到另一个索引,只有当参数为负数时,他们不一样,需要强调的一点:子串不包括“until”索引值的元素
substring(0) slice(0) slice()都是截取整个字符串,无意义
substring的from必写
php:
1.substr(源字符串,起始位置,[长度])-截取字符串返回部分字符串
<?php
$str ="phpddt.com";
echo substr($str,2);//pddt.com
echo substr($str,2,3);//pdd
echo substr($str,-2);//om 负数从结尾开始取
?>
但是当你截取中文字符串的时候很容易出现乱码,因为一个汉字是两个字节,而一个英文字母是一个字节。解决办法如下:
2.mb_substr(),使用方法和substr相同
不过要开启php.ini里面extension=php_mbstring.dll扩展,不用担心,一般的空间商都会开启这个扩展的。
<?php
echo mb_substr("php点点通",1,3,"UTF-8");//hp点
?>
代码如下:
substr(string,start,length)
- 其中start的参数
- 正数 - 在字符串的指定位置开始
- 负数 - 在从字符串结尾的指定位置开始
- 0 - 在字符串中的第一个字符处开始
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。