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

时间:2015-07-12 12:42:07

标签: regex wordpress preg-split

我需要找出WordPress页面上有多少句子。我使用preg_split(/[!?.]/,$text)查找,然后使用sizeof($array)来获取句子数。我得错了号码。似乎我的句子之间的空白也被计算在内(但我不确定这是发生了什么)。当它应该返回14时返回21.

这里发生了什么?

1 个答案:

答案 0 :(得分:1)

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

例如

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

如果您想深入了解正则表达式,请查看此link或查看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)