JS PHP字符串截取函數(shù)實(shí)現(xiàn)原理解析
js有三個(gè):slice() substring() substr()
一般都用substr(start,length),第一個(gè)參數(shù)是開始位置的下標(biāo) 必須,可以為負(fù)數(shù),下標(biāo)-1 是指字符串中最后一個(gè)字符,下標(biāo)-2 是指倒數(shù)第二個(gè)字符,以此類推;第二個(gè)參數(shù)是要截取子串的長度 可選,截取的方向都是從左往右,不會(huì)改變。
截取出來的子串包含起始位置自己
PS:字符串的索引都從0開始計(jì)起
. 空格都是字符
substring(from,until) slice(from,until)都是從一個(gè)索引截取到另一個(gè)索引,只有當(dāng)參數(shù)為負(fù)數(shù)時(shí),他們不一樣,需要強(qiáng)調(diào)的一點(diǎn):子串不包括“until”索引值的元素
substring(0) slice(0) slice()都是截取整個(gè)字符串,無意義
substring的from必寫
php:
1.substr(源字符串,起始位置,[長度])-截取字符串返回部分字符串
<?php$str ='phpddt.com';echo substr($str,2);//pddt.comecho substr($str,2,3);//pddecho substr($str,-2);//om 負(fù)數(shù)從結(jié)尾開始取?>
但是當(dāng)你截取中文字符串的時(shí)候很容易出現(xiàn)亂碼,因?yàn)橐粋€(gè)漢字是兩個(gè)字節(jié),而一個(gè)英文字母是一個(gè)字節(jié)。解決辦法如下:
2.mb_substr(),使用方法和substr相同
不過要開啟php.ini里面extension=php_mbstring.dll擴(kuò)展,不用擔(dān)心,一般的空間商都會(huì)開啟這個(gè)擴(kuò)展的。
<?phpecho mb_substr('php點(diǎn)點(diǎn)通',1,3,'UTF-8');//hp點(diǎn)?>
代碼如下:
substr(string,start,length)
其中start的參數(shù) 正數(shù) - 在字符串的指定位置開始 負(fù)數(shù) - 在從字符串結(jié)尾的指定位置開始 0 - 在字符串中的第一個(gè)字符處開始以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 概述IE和SQL2k開發(fā)一個(gè)XML聊天程序2. XML入門精解之結(jié)構(gòu)與語法3. XML解析錯(cuò)誤:未組織好 的解決辦法4. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)5. 利用CSS3新特性創(chuàng)建透明邊框三角6. XML入門的常見問題(一)7. HTML5 Canvas繪制圖形從入門到精通8. CSS Hack大全-教你如何區(qū)分出IE6-IE10、FireFox、Chrome、Opera9. HTML DOM setInterval和clearInterval方法案例詳解10. XML入門的常見問題(二)
