因為某些原因,想要截取字串。一開始想到的是 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; // 吃蓋飯在台北市四平街

Tags: php, mb_strcut, mb_strlen, mb_substr, 字串, 長度, 截取, UTF-8, utf8, 許茹芸, 淚海, 慶功宴, 蓋飯, 四平街


文章標籤
創作者介紹

旅行的記憶

repeat<')">< 發表在 痞客邦 PIXNET 留言(0) 人氣()