我使用substr修剪字符串中的前100個字符。但是我需要一個可以修剪特定數量的單詞的函數,而不是字符串中的字符?substr like函數在完整的單詞上工作
$trimmed_details = substr($row->details, 0, 200).'...';
有沒有一個內置的函數來做到這一點?
我使用substr修剪字符串中的前100個字符。但是我需要一個可以修剪特定數量的單詞的函數,而不是字符串中的字符?substr like函數在完整的單詞上工作
$trimmed_details = substr($row->details, 0, 200).'...';
有沒有一個內置的函數來做到這一點?
試試這個:
join(" ", explode(" ", $yourStr, 100));
'join'只是一個別名,更好的使用'implode'。恕我直言,它與「爆炸」更好地融合在一起。此外,考慮到這一點:「如果limit(爆炸的第三個參數)被設置並且爲正數,返回的數組將包含最大限制元素,並且最後一個元素包含字符串的其餘部分。」 - 你必須擺脫最後一個。 – middus 2010-03-21 16:08:08
我如何擺脫最後一個? – amit 2010-03-21 16:37:32
你可以將explode和array_slice()結合起來。像這樣: implode(「」,array_slice(explode(「」,$ yourStr,101),0,100)); – Nycto 2010-03-21 17:58:49
沒有,在這兩個PHP和MySQL沒有內建函數。因爲在任何一個系統中都沒有數據類型「(語言)字」。你可以發明一些正則表達式來做到這一點,但我會放棄並使用舊的基於字符的修整。
你能提供一個你想要的例子嗎? – geffchang 2010-03-21 16:34:52