1

我希望能够在句子后按句点 preg_split 内容,即

Lorem ipsum dolor 坐 3.14 amet,精英。Vivamus sed 精英欧盟。Morbi pulvinar dignissim。

应该输出(不应该拆分浮点中的点):

array(
  'Lorem ipsum dolor sit 3.14 amet, elit',
  'Vivamus sed elit eu',
  'Morbi pulvinar dignissim'
)

不是

array(
  'Lorem ipsum dolor sit 3',
  '14 amet, elit',
  'Vivamus sed elit eu',
  'Morbi pulvinar dignissim'
)

任何想法 preg_split 模式应该是什么样子?干杯

4

3 回答 3

3

这个可能有效

$res = preg_split('/\.[^\d]/', $str);
于 2012-04-28T15:41:53.627 回答
1

以下适用于您的示例,但我不确定它是否总是能完成这项工作,但希望您可以使用它:"/\.[^$|\d]/"

于 2012-04-28T15:41:38.900 回答
0

如果您只想在点后有空格或字符串结尾的情况下进行拆分:

$res = preg_split('~\.( |$)~', $str);

这会给你空的结果,你可以通过设置PREG_SPLIT_NO_EMPTY标志来放弃。

$res = preg_split('~\.( |$)~', $str, 0, PREG_SPLIT_NO_EMPTY);

也见preg_split

于 2012-04-29T16:53:34.537 回答