我无法让 preg_split 在 wp 中正常工作

I can't get preg_split to work properly in wp

我需要找出 WordPress 的一个页面上有多少个句子。我用 preg_split(/[!?.]/,$text) 找出然后用 sizeof($array) 得到句子的数量。我弄错号码了。似乎我的句子之间的空格也被计算在内(但我不确定这是怎么回事)。它 return 21 应该 return 14.

这里发生了什么?

字符 ?. 在正则表达式模式中具有特殊含义。所以我认为你必须用反斜杠转义字符,这样它们就字面上匹配了。

例如

  • . 通常匹配任何单个字符,换行符除外
  • ? 匹配零个或一个

如果您想更深入地了解正则表达式,请查看此 link or look here

$text = "This is a test. this is. again. and again? or what! is it?";

$num = preg_split( '/[!\?\.]/', $text, null, PREG_SPLIT_NO_EMPTY );

var_dump( sizeof( $num ) ); //outputs int(6)