因為某些原因,想要截取字串。一開始想到的是 mb_strcut()
。
如果要取某個字串的前 30 bytes ,可以這樣下:
$text = "許茹芸淚海慶功宴吃蓋飯在台北市四平街";
$result = mb_strcut($text, 0, 30, "UTF-8");
echo $result; // 許茹芸淚海慶功宴吃蓋
但是要取某個字串的「後 30 bytes 」呢?
最一開始的想法是用 mb_strlen()
把 $text
的長度取出來,但是後來發現其實 mb_strcut()
本身就支援這個做法:
$text = "許茹芸淚海慶功宴吃蓋飯在台北市四平街";
$result = mb_strcut($text, -30, 30, "UTF-8");
echo $result; // 吃蓋飯在台北市四平街
※ 2015/02/22 Update: 發現把 mb_strcut()
和 mb_substr()
搞混了,要取某個字串的「前 10 字」應該是:
$text = "許茹芸淚海慶功宴吃蓋飯在台北市四平街";
$result = mb_substr($text, 0, 10, "UTF-8");
echo $result; // 許茹芸淚海慶功宴吃蓋
而取某個字串的「後 10 字」則是:
$text = "許茹芸淚海慶功宴吃蓋飯在台北市四平街";
$result = mb_substr($text, -10, 10, "UTF-8");
echo $result; // 吃蓋飯在台北市四平街
文章標籤
全站熱搜
留言列表