1

str_word_count()用来计算内容中的字数CKEditor。我从 CKEditior 得到的内容是 HTML 内容,我需要计算字数。用 MS 的话,我得到的字数是 328。另一方面,在 html 标签中,我在使用str_word_count()362 个字后从我的内容中得到。有没有办法从 php 字符串变量中删除任何 HTML 标签?我尝试使用strip_tags(),它给了我 336。有没有办法在 PHP 中获得确切的字数?先感谢您。

例如这样的用户输入的这篇文章。

混合学校或男女学校

你有没有想过混合学校对学生的影响?美国的大多数学校都是混合性别的,这意味着女孩和男孩在同一个教室里互相学习。一些家长想知道他们的孩子在学校的影响,无论是在混合学校还是在男女皆宜的学校。这些影响不仅与教育有关,还与他们的个性、与异性的行为以及最终他们的教育有关。在我看来,我认为面向青少年学生的男女皆宜的学校比混合学校要好得多,这个结论有很多原因。

在 MS 单词中,字数是:107

在php中

 

混合学校或男女学校

 

你有没有想过混合学校对学生的影响?美国的大多数学校都是混合性别的,这意味着女孩和男孩在同一个教室里互相学习。一些家长想知道他们的孩子在学校的影响,无论是在混合学校还是在男女皆宜的学校。这些影响不仅与教育有关,还与他们的个性、与异性的行为以及最终他们的教育有关。在我看来,我认为面向青少年学生的男女皆宜的学校比混合学校要好得多,这个结论有很多原因。

结果:114

我正在为一篇文章计算额外的 7 个单词。

编辑

使用后

    $text = strip_tags($this->orginal_content);
    $text = str_replace(' ',"",$text);
    $this->orginal_content_count = str_word_count($text);

结果:112

我找到了 3 个空格

        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. 
4

1 回答 1

2

好的。

你已经知道了strip_tags()。这是一个好的开始。

You're replacing   with a space, but that only deals with that single specific entity. You would be better off using PHP's html_entity_decode() function which will get rid of all of the entity codes from your string.

If extra spacing is causing you problems, you could try doing str_replace() or preg_replace() to get rid of them. eg:

$output = preg_replace('/\s\s+/',' ',$input);

This will convert all multiple-whitespace instances into a single space character.

Now your word count should work a little better.

Hope that helps.

于 2012-05-20T06:41:11.827 回答