因為某些原因,想要截取字串。一開始想到的是 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; // 吃蓋飯在台北市四平街
文章標籤
全站熱搜
留言列表

💻️ 