2011-03-24 84 views
0

我有一個包含1200個字符的字符串。我只想選擇前50個單詞。從字符串中選擇50個字

字符串是$row['message']。爆炸和substr之間我感到困惑。

謝謝。

+1

一個必須定義「字」前問一個問題 – 2011-03-24 13:37:05

回答

5
$words = preg_split('/\s+/', $row['message']); 

$words = array_slice($words, 0, 50); 

此代碼應該這樣做。

+1

使preg_split優於爆炸,因爲 – 2011-03-24 13:34:04

+0

詞之間可能會發生,或者你可以做這樣的多重空間, :'$ words = preg_split('/ \ s + /',$ row ['message'],50);' – 2011-03-24 13:35:00

2

嘗試

$words = str_word_count($row['message'], 1); 
$first50Words = array_slice($words, 0, 50); 
+0

不錯的功能!請注意,單詞不能包含像'á'等特殊字符。您可以將這些字符添加到第三個參數。 – 2011-03-24 13:46:01

1
function firstNwords($str,$n){ 
    return preg_replace('/((\b\w+\b.*?){'.$n.'}).*$/s','$1',$str); 
}