1

所以我有一些文字:

这是一个句子。这是另一句话。这是第三句话。

任何我都试图找到一种方法将每个句子放入数组或换行。像这样的东西:

[0] => 这是一个句子。

[1] =>这是另一个句子。

[2] =>这是第三句话。

我意识到这很难做到,但不一定要完全证明。因此,如果在错误的位置拆分时,我得到仅由一个单词或半个句子组成的奇数值是可以的。所以,基本上我需要在“。”,“?”处分割。和 ”!”。

我玩过 preg_match_all() 但我很难理解正则表达式。

这是我到目前为止所拥有的,但它不起作用。如您所知,我对正则表达式的了解非常不稳定。如果有人能指出我正确的方向,我将不胜感激。谢谢你。

<?php

$string = "This is a sentence. This is another sentence. This is a third sentence .";

preg_match_all('/\.(.*)>\./', $string, $matches);
print_r($matches);
?>
4

1 回答 1

1

我添加了一个句子应该以大写字母开头的条件。它不会在末尾捕获多个标点符号。

preg_match_all('/[AZ][^!?.]+[!?.]/', $string, $matches, PREG_PATTERN_ORDER);
于 2012-08-26T09:34:09.690 回答