您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)php中字符串截取的方法是什么的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
方法:1、用“substr(字符串,開(kāi)始位置,截取長(zhǎng)度)”語(yǔ)句;2、用“mb_substr(字符串,開(kāi)始位置,截取長(zhǎng)度,編碼)”語(yǔ)句;3、用“mb_strcut(字符串,開(kāi)始位置,截取長(zhǎng)度,編碼)”語(yǔ)句;4、用“$str[字符位置]”語(yǔ)句。
本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦
如果截取的字符串是多個(gè)字節(jié),就會(huì)出現(xiàn)亂碼,比如中文,適用于截取字母和數(shù)字
$str = 'hello'; echo substr($str,1,2);//輸出el
適用于截取中文,按字來(lái)切分
echo mb_substr('這個(gè)真的很nice',0,3,'utf-8'); //輸出這個(gè)真
按照字節(jié)來(lái)切分
echo mb_strcut('這個(gè)真的很nice',0,3,'utf-8'); //輸出這
將字符串看做字符集合,中文不適用哦!
$str = 'hello'; echo $str[0];//輸出h
有時(shí)字符串中含有中英文數(shù)字等,所以自定義一個(gè)不區(qū)分中英文的函數(shù)來(lái)切分字符串
/** * * 中英混合的字符串截取 * @param 待截取字符串 $sourcestr * @param 截取長(zhǎng)度 $cutlength */ function sub_str($sourcestr, $cutlength) { $returnstr = '';//待返回字符串 $i = 0; $n = 0; $str_length = strlen ( $sourcestr ); //字符串的字節(jié)數(shù) while ( ($n < $cutlength) and ($i <= $str_length) ) { $temp_str = substr ( $sourcestr, $i, 1 ); $ascnum = Ord ( $temp_str ); //得到字符串中第$i位字符的ascii碼 if ($ascnum >= 224) {//如果ASCII位高與224, $returnstr = $returnstr . substr ( $sourcestr, $i, 3 ); //根據(jù)UTF-8編碼規(guī)范,將3個(gè)連續(xù)的字符計(jì)為單個(gè)字符 $i = $i + 3; //實(shí)際Byte計(jì)為3 $n ++; //字串長(zhǎng)度計(jì)1 } elseif ($ascnum >= 192){ //如果ASCII位高與192, $returnstr = $returnstr . substr ( $sourcestr, $i, 2 ); //根據(jù)UTF-8編碼規(guī)范,將2個(gè)連續(xù)的字符計(jì)為單個(gè)字符 $i = $i + 2; //實(shí)際Byte計(jì)為2 $n ++; //字串長(zhǎng)度計(jì)1 } elseif ($ascnum >= 65 && $ascnum <= 90) {//如果是大寫(xiě)字母, $returnstr = $returnstr . substr ( $sourcestr, $i, 1 ); $i = $i + 1; //實(shí)際的Byte數(shù)仍計(jì)1個(gè) $n ++; //但考慮整體美觀,大寫(xiě)字母計(jì)成一個(gè)高位字符 }elseif ($ascnum >= 97 && $ascnum <= 122) { $returnstr = $returnstr . substr ( $sourcestr, $i, 1 ); $i = $i + 1; //實(shí)際的Byte數(shù)仍計(jì)1個(gè) $n ++; //但考慮整體美觀,大寫(xiě)字母計(jì)成一個(gè)高位字符 } else {//其他情況下,半角標(biāo)點(diǎn)符號(hào), $returnstr = $returnstr . substr ( $sourcestr, $i, 1 ); $i = $i + 1; $n = $n + 0.5; } } return $returnstr; }
感謝各位的閱讀!關(guān)于“php中字符串截取的方法是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。