php字符串截取自定义函数
生活随笔
收集整理的這篇文章主要介紹了
php字符串截取自定义函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
轉載地址:http://liqingbo.cn/blog-386.html
?php字符串截取自定義函數是我們在開發過程中常常使用到的函數,一般用php內置的函數也行,不過不是特別好用,特別是對中文的支持也不是特別友好,所以我們就自己自定義一個咯。
//$Str為截取字符串,$Length為需要截取的長度 function cut($Str, $Length,$more=true) {global $s;$i = 0;$l = 0;$ll = strlen($Str);$s = $Str;$f = true;while ($i <= $ll) {if (ord($Str{$i}) < 0x80) {$l++; $i++;} else if (ord($Str{$i}) < 0xe0) {$l++; $i += 2;} else if (ord($Str{$i}) < 0xf0) {$l += 2; $i += 3;} else if (ord($Str{$i}) < 0xf8) {$l += 1; $i += 4;} else if (ord($Str{$i}) < 0xfc) {$l += 1; $i += 5;} else if (ord($Str{$i}) < 0xfe) {$l += 1; $i += 6;}if (($l >= $Length - 1) && $f) {$s = substr($Str, 0, $i);$f = false;}if (($l > $Length) && ($i < $ll) && $more) {$s = $s . '...'; break; //如果進行了截取,字符串末尾加省略符號“...”}}return $s; }調用的方法特別簡單,在普通的php文件里面直接調用方法名:
| 1 | cut(); |
就行了,不過里面必須要傳參數,一般第1和第2個必須的,第3個可選
比如我們想截取一段字符串的前10個漢子,那么我們就這樣調用
| 1 | cut($str,10); |
其中$str為要截取的字符串,10為長度。
因為默認的情況下,如果截取之前的長度超過截取之后的長度,那么超出部分函數會默認使用'...'來替代后面的字符串
如果我們不想讓超出部分隱藏替換成'...',那么我們只需要在后面再添加一個參數'false'就行了,如
| 1 | cut($str,10,false); |
總結
以上是生活随笔為你收集整理的php字符串截取自定义函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PHP中文乱码的常见解决方法总结
- 下一篇: php empty,isset,is_n