PHP:str_word_count count将减号作为一个单独的单词

PHP:str_word_count count将减号作为一个单独的单词,php,count,Php,Count,如评论中所述,str\u word\u count的行为非常奇怪 这里有一种计算字数的替代方法,使用简单的正则表达式: <?php echo str_word_count(' - - - - - - - ');exit; 这只是在找到一系列字母时计算字符串的每次出现次数: [^\W\d\]基本上表示除连字符以外的任何字符 u标志确保考虑重音字符 如评论中所述,str\u word\u count的行为非常奇怪 这里有一种计算字数的替代方法,使用简单的正则表达式: <?php e

如评论中所述,
str\u word\u count
的行为非常奇怪

这里有一种计算字数的替代方法,使用简单的正则表达式:

<?php
echo str_word_count(' - - - - - - - ');exit;

这只是在找到一系列字母时计算字符串的每次出现次数:

  • [^\W\d\]
    基本上表示除连字符以外的任何字符
  • u
    标志确保考虑重音字符

如评论中所述,
str\u word\u count
的行为非常奇怪

这里有一种计算字数的替代方法,使用简单的正则表达式:

<?php
echo str_word_count(' - - - - - - - ');exit;

这只是在找到一系列字母时计算字符串的每次出现次数:

  • [^\W\d\]
    基本上表示除连字符以外的任何字符
  • u
    标志确保考虑重音字符

Read da manual“为了实现此功能,“word”被定义为包含字母字符的区域设置相关字符串,字母字符也可以包含,但不能以“'”和“-”字符开头。”@u_mulder如果这是真的,为什么在他们的示例中返回OP的
7
?当然,每一个都以
-
开始计算,所以它们不应该被计算,对吗?对我来说似乎是一个bug。这真的很奇怪(可能“以”开头意味着“至少有2个符号,第一个不是
-
”。认为文档写错了。看起来它只是这些字符的字符串的开始或结束,从测试来看,手册中的“不以“-”开头的部分根本不正确。一个“单词”是任何一组数字或字母和
-
-
字符组(仅数字字符组除外)。阅读da手册“为了实现此功能,“word”被定义为包含字母字符的区域设置相关字符串,也可以包含,但不能以“'”和“-”字符开头。”@如果这是真的,为什么在他们的例子中它会返回OP的
7
?当然每一个都是以
-
开始的,所以它们不应该被计算,对吧?对我来说似乎是个bug。这真的很奇怪(也许“以”开始意味着“至少有两个符号,第一个不是
-
”。认为文档写错了。看起来它只是这些字符字符串的开始或结束,从测试来看,手册中的“不以“-”开头的部分根本不正确。一个“单词”是任何一组数字或字母和
-
-
,除了数字字符组。在OP设置的示例中,此函数仍然返回7。@Martin忘记了单词边界,现在应该可以了(多次更改模式,我在某个时候打破了它,我的坏)。它将数字计算为单词。@Hevyweb Oops,没错。再次修复了正则表达式。根据OP设置的示例,此函数仍然返回7。@Martin忘记了单词边界,现在应该没事了(多次更改了模式,我在某个时候打破了它,我的错)。它将数字计算为单词。@Hevyweb Oops,没错。再次修复了正则表达式。