2011-02-22 160 views
0

我需要計算一個句子中的單詞。 如果報價少於3個字,則不需要。 如果提案超過40個,則需要對其進行修剪。 我試圖做,但我的方式各種字符(空格)。如何計算句子中的單詞?

我的代碼:

$inputString = 'This is a sentence, This is a sentence This is a sentence!'; 

    $max = 40; 
    $min = 3; 

    $inputString = preg_replace('#\s+#', ' ', $inputString); 
    $words = explode(' ', $inputString); 

    if (count($words) >= $min) { 
    $result = implode(' ', array_slice($words, 0, $max)); 
    } else { 
    $result = 'bad sentence'; 
    } 
    echo $result; 

我究竟做錯了什麼?

再試一次:

「бижутериябижутериясвоимирукамибижутерияоптомэлитнаябижутериясвадебнаябижутериябижутерияинтернетмагазинбижутерия施華洛世奇интернетмагазинбижутериибижутериякупитьфурнитурадлябижутериибижутериясваровскимагазинбижутериикупитьбижутериюмоднаябижутериястильнаябижутериябижутерияручнойработымужскаябижутерия бижутериямосквабижутерияфотокаталогбижутерииитальянскаяб ижутерияукрашениябижутериясваровскибижутериябижутерияоптдорогаябижутериябижутерияоптоммосквасерьгибижутерияавторскаябижутериябижутериясерьгипродажабижутериимуранскоестеклобижутерияженскаябижутериянедорогаябижутериякрасиваябижутериячешскаябижутериябижутериякольцаювелирнаябижутериядешеваябижутериябраслетыбижутерияаксессуарыбижутерияинтернетбижутериямоднаябижутерия2010天后бижутерияоптоваяпродажа бижутериибижутерия2010бусыбижутерияинтернетмагазинбижутериябижутерияоптомвмоскве сваровскиукрашениямолодежнаябижутерияпродажабижутерииоптомбижутериядляневестыкупитьбижутериюоптомкольцабижутериябижутериябраслетыювелирныеукрашенияфранцузскаябижутериякольебижутерияброшибижутериябижутерияизбисерабижутерияоптомкитайбижутериякупитьнедорогобижутериябусыгдекупитьбижутериюэксклюзивнаябижутериядешеваябижутерияоптомкуплюбижутериюоптом洛世奇бижутерияэлитная бижутерияоптомдетскаябижутерияукрашениясвоимирукамибижутерияитальянскаябижутерияукраинабижутерияукраше иябижутерияаксессуарыбижутерияизнатуральныхкамнейинтернетмагазинукрашенийизготовлениебижутериибижутериякупитьмосквасерьгибижутерияжемчугподставкидлябижутерииженавибижутериязолотыеукрашенияукрашенияизсеребраювелирныеи​​зделиябижутериимагазиныбижутериикуплюбижутериюбижутериякольемагазиныбижутериивмосквебраслетыбижутериядешевооригинальнаябижутериякитайскаябижутерияоптомсеребряные украшениябижутерияженавизолотоавторееукрашенияКонтактнаяинформация網站:http:vk。 「

+0

什麼不工作似乎沒什麼問題 – Dogbert 2011-02-22 17:53:48

+0

這裏怎麼回事? – sdleihssirhc 2011-02-22 17:54:36

回答

1

你沒有做錯什麼,你的代碼工作公佈。正如你所說,下40 單詞句子工作就好了。在你的意見,你說出你想要的句子被截斷在40個字符這可能有助於

$inputString = 'This is a sentence, This is a sentence This is a sentence!'; 

$max = 40; 
$min = 3; 

$words = preg_match_all('#\w#', $inputString, $m); 

if ($words >= $min) { 
    $result = (strlen($inputString) <= $max) ? ($inputString) : 
     (substr($inputString, 0, $max)); 
} else { 
    $result = 'bad sentence'; 
} 
echo $result; 
0

您可以使用str_word_count() function從這裏舉個例子:。?。

<?php 

$str = "Hello fri3nd, you're 
     looking   good today!"; 

print_r(str_word_count($str, 1)); 
print_r(str_word_count($str, 2)); 
print_r(str_word_count($str, 1, 'àáãç3')); 

echo str_word_count($str); 

?> 
相關問題