首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何计算句子中的单词?

如何计算句子中的单词?
EN

Stack Overflow用户
提问于 2011-02-23 01:51:00
回答 2查看 574关注 0票数 0

我需要计算句子中的单词。如果报价少于3个字,则不需要。如果建议超过40,则需要对其进行修剪。我试着去做,但我的方式不同的字符(空格)。

我的代码:

代码语言:javascript
运行
复制
 $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。“

EN

回答 2

Stack Overflow用户

发布于 2011-02-23 01:55:47

你没做错什么。您的代码可以按照发布的方式工作。正如你所说的,少于40个单词的句子工作得很好。在你的评论中,你声明你希望句子在40个字符的处被截断。这可能会有帮助。

代码语言:javascript
运行
复制
$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;
票数 1
EN

Stack Overflow用户

发布于 2011-02-23 02:33:49

你可以使用str_word_count() function。下面是其中的一个示例:

代码语言:javascript
运行
复制
<?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);

?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5081834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档