JS PHP字符串截取函數(shù)實現(xiàn)原理解析
js有三個:slice() substring() substr()
一般都用substr(start,length),第一個參數(shù)是開始位置的下標(biāo) 必須,可以為負(fù)數(shù),下標(biāo)-1 是指字符串中最后一個字符,下標(biāo)-2 是指倒數(shù)第二個字符,以此類推;第二個參數(shù)是要截取子串的長度 可選,截取的方向都是從左往右,不會改變。
截取出來的子串包含起始位置自己
PS:字符串的索引都從0開始計起
. 空格都是字符
substring(from,until) slice(from,until)都是從一個索引截取到另一個索引,只有當(dāng)參數(shù)為負(fù)數(shù)時,他們不一樣,需要強(qiáng)調(diào)的一點:子串不包括“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 負(fù)數(shù)從結(jié)尾開始取
?>
但是當(dāng)你截取中文字符串的時候很容易出現(xiàn)亂碼,因為一個漢字是兩個字節(jié),而一個英文字母是一個字節(jié)。解決辦法如下:
2.mb_substr(),使用方法和substr相同
不過要開啟php.ini里面extension=php_mbstring.dll擴(kuò)展,不用擔(dān)心,一般的空間商都會開啟這個擴(kuò)展的。
<?php
echo mb_substr("php點點通",1,3,"UTF-8");//hp點
?>
代碼如下:
substr(string,start,length)
- 其中start的參數(shù)
- 正數(shù) - 在字符串的指定位置開始
- 負(fù)數(shù) - 在從字符串結(jié)尾的指定位置開始
- 0 - 在字符串中的第一個字符處開始
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript的document中的動態(tài)添加標(biāo)簽實現(xiàn)方法
下面小編就為大家?guī)硪黄獪\談javascript的document中的動態(tài)添加標(biāo)簽實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10JavaScript實現(xiàn)學(xué)生在線做題計時器功能
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)學(xué)生在線做題計時器功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-12-12JS笛卡爾積算法與多重數(shù)組笛卡爾積實現(xiàn)方法示例
這篇文章主要介紹了JS笛卡爾積算法與多重數(shù)組笛卡爾積實現(xiàn)方法,結(jié)合實例形式分析了javascript根據(jù)對象或數(shù)組生成笛卡爾積的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12echarts多條折線圖動態(tài)分層的實現(xiàn)方法
這篇文章主要介紹了echarts多條折線圖動態(tài)分層的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05