我需要计算句子中的单词。如果报价少于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 divaбижутерияоптоваяпродажабижутериибижутерия2010бусыбижутерияинтернетмагазинбижутериябижутерияоптомвмосквесваровскиукрашениямолодежнаябижутерияпродажабижутерииоптомбижутериядляневестыкупитьбижутериюоптомкольцабижутериябижутериябраслетыювелирныеукрашенияфранцузскаябижутериякольебижутерияброшибижутериябижутерияизбисерабижутерияоптомкитайбижутериякупитьнедорогобижутериябусыгдекупитьбижутериюэксклюзивнаябижутериядешеваябижутерияоптомкуплюбижутериюоптом施华洛世奇бижутерияэлитнаябижутерияоптомдетскаябижутерияукрашениясвоимирукамибижутерияитальянскаябижутерияукраинабижутерияукрашениябижутерияаксессуарыбижутерияизнатуральныхкамнейинтернетмагазинукрашенийизготовлениебижутериибижутериякупитьмосквасерьгибижутерияжемчугподставкидлябижутерииженавибижутериязолотыеукрашенияукрашенияизсеребраювелирныеизделиябижутериимагазиныбижутериикуплюбижутериюбижутериякольемагазиныбижутериивмосквебраслетыбижутериядешевооригинальнаябижутериякитайскаябижутерияоптомсеребряныеукрашениябижутерияженавизолотоавторскиеукрашенияКонтактнаяинформацияВеб-сайт: http:vk。“
发布于 2011-02-23 01:55:47
你没做错什么。您的代码可以按照发布的方式工作。正如你所说的,少于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;发布于 2011-02-23 02:33:49
你可以使用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);
?>https://stackoverflow.com/questions/5081834
复制相似问题