将文本组织成句子

时间:2012-08-26 09:17:22

标签: php regex

所以我有一些文字:

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

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

[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);
?>

1 个答案:

答案 0 :(得分:1)

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

preg_match_all('/[A-Z][^!?.]+[!?.]/', $string, $matches, PREG_PATTERN_ORDER);
相关问题