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 - 在字串中的第一個字元處開始
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。