PHP擷取字串

2021-06-04 07:28:22 字數 896 閱讀 1580

php 自帶幾種字串擷取函式,其中常用到的就是 substr 和 mb_substr。前者在處理中文時,gbk 為 2 個長度單位,utf 為 3 個長度單位,後者指定編碼後,乙個中文即為 1 個長度單位。

substr 不用說,有時會截 1/3 個中文或半個中文,當然顯示出來是亂碼了,相對來說 mb_substr 更適合我們使用。不過有時候 mb_substr 就顯得不那麼好用了。例如我要顯示乙個小的簡要資訊,5 個中文正好,超過 5 個就擷取前4再加上"...",這樣處理中文是沒問題了,可是處理英文或數字,這樣擷取就太短了。

兼於這樣,我做了一點小小的改進,**如下:

<?php

/** * 字串擷取

* * @author gesion* @param string $str 原始字串

* @param int $len 擷取長度(中文/全形符號預設為 2 個單位,英文/數字為 1。

* 例如:長度 12 表示 6 個中文或全形字符或 12 個英文或數字)

* @param bool $dot 是否加點(若字串超過 $len 長度,則後面加 "...")

* @return string

*/class onens elseif (ord($t) >= 192) else

// $t = substr($str, $i, $c);

$i += $c;

if ($l > $len) break;

$a = $t;

}$re = implode('', $a);

if (substr($str, $i, 1) !== false)

return $re;

}}?>

PHP擷取字串

php 構造字串 str abcdefghijklmnopqrstuvwxyz echo 原字串 str.按各種方式進行擷取 str1 substr str,5 echo 從第5個字元開始取至最後 str1.str2 substr str,9,4 echo 從第9個字元開始取4個字元 str2.st...

PHP擷取字串

1.擷取gb2312中文字串 php 擷取中文字串 function mysubstr str,start,len else tmpstr substr str,i,1 return tmpstr 2.擷取utf8編碼的多位元組字串 php 擷取utf8字串 function utf8substr ...

php擷取字串

1.substr 源字串,其實位置 長度 擷取字串返回部分字串 1 2 str phpddt.com 3echo substr str,2 pddt.com 4echo substr str,2,3 pdd5 echo substr str,2 om 負數從結尾開始取 6 但是當你擷取中文字串的時候...