JS PHP字符串截取函數(shù)實(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開始計(jì)起
. 空格都是字符
substring(from,until) slice(from,until)都是從一個索引截取到另一個索引,只有當(dāng)參數(shù)為負(fù)數(shù)時,他們不一樣,需要強(qiáng)調(diào)的一點(diǎn):子串不包括“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)亂碼,因?yàn)橐粋€漢字是兩個字節(jié),而一個英文字母是一個字節(jié)。解決辦法如下:
2.mb_substr(),使用方法和substr相同
不過要開啟php.ini里面extension=php_mbstring.dll擴(kuò)展,不用擔(dān)心,一般的空間商都會開啟這個擴(kuò)展的。
<?php
echo 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 - 在字符串中的第一個字符處開始
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
layui table表格數(shù)據(jù)的新增,修改,刪除,查詢,雙擊獲取行數(shù)據(jù)方式
今天小編就為大家分享一篇layui table表格數(shù)據(jù)的新增,修改,刪除,查詢,雙擊獲取行數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
值得分享和收藏的Bootstrap學(xué)習(xí)教程
這絕對是一套值得分享和大家收藏的Bootstrap學(xué)習(xí)教程,完整的知識體系,系統(tǒng)的學(xué)習(xí)資料,幫助大家開啟Bootstrap學(xué)習(xí)之旅,享受Bootstrap帶給大家的奇妙樂趣2016-05-05
js實(shí)現(xiàn)類選擇器和name屬性選擇器的示例步驟
這篇文章主要介紹了js實(shí)現(xiàn)類選擇器和name屬性選擇器的示例步驟,幫助大家更好的理解和使用js,感興趣的朋友可以了解下2021-02-02
JS 學(xué)習(xí)總結(jié)之正則表達(dá)式的懶惰性和貪婪性
這篇文章主要介紹了JS 學(xué)習(xí)總結(jié)之正則表達(dá)式的懶惰性和貪婪性的相關(guān)資料,需要的朋友可以參考下2017-07-07

