我使用str_word_count()来计算来自CKEditor的内容中的单词数。我从CKEditior获得的内容是一个HTML,我需要计算单词计数。在MS单词中,我得到了第328个单词。另一方面,在html标记中,我使用str_word_count()后从内容中获得362个单词。有没有办法从php字符串变量中删除任何HTML标记?我试着用strip_tags(),它给了我336个。有什么方法可以在PHP中得到准确的单词计数吗?提前谢谢你。
例如,这样的用户输入的这篇文章。
混合学校或Unisex学校
你有没有想过混合学校对学生的影响?美国的大多数学校都是男女混合的,这意味着女孩和男孩在同一个教室里互相学习。有些家长想知道他们的孩子在学校的影响,无论是在混合学校还是在男女生的学校。这些影响不仅与教育有关,而且还与他们的个性、与异性交往的行为以及他们的教育有关。在我看来,我认为针对青少年学生的男女生学校要比混合学校好得多,这个结论有很多原因。
在MS单词中,单词计数是:107
in php
混合学校或联合学校
你有没有想过混合学校对学生的影响?美国的大多数学校都是男女混合的,这意味着女孩和男孩在同一个教室里互相学习。有些家长想知道他们的孩子在学校的影响,无论是在混合学校还是在男女生的学校。这些影响不仅与教育有关,而且还与他们的个性、与异性交往的行为以及他们的教育有关。在我看来,我认为针对青少年学生的男女生学校要比混合学校好得多,这个结论有很多原因。
结果:114
我在为一篇短文计算多出7个单词。
编辑
使用后
$text = strip_tags($this->orginal_content);
$text = str_replace(' ',"",$text);
$this->orginal_content_count = str_word_count($text);结果:112
我找到了三个空间
Mixed School or Unisex School Have you ever think about the impact of mixed schools for students? Most of the schools in the U.S are mixed gender, which mean girls and boys are studying with each other in the same classroom. Some parents wonder about the influences of their child’s in the school either in mixed school or in unisex ones. These influences are not about the education only, the influences about their personality, behavior with the opposite sex and finally their education. In my opinion, I think the unisex schools for teenager’s students are much better than mixed schools, and this conclusion based in many reasons. 发布于 2012-05-20 06:41:11
好吧。
你已经知道strip_tags()了。这是个很好的开始。
您正在用空格替换 ,但这只处理单个特定实体。最好使用PHP的html_entity_decode() function,它将消除字符串中的所有实体代码。
如果额外的间隔会导致问题,您可以尝试执行str_replace()或preg_replace()来消除它们。例:
$output = preg_replace('/\s\s+/',' ',$input);这将将所有多空格实例转换为单个空格字符。
现在你的字数应该会更好一些。
希望这能有所帮助。
https://stackoverflow.com/questions/10671094
复制相似问题