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

repeat :D 發表在 痞客邦 留言(0) 人氣()