所以我有一些文字:
这是一句话。这是另一句话。这是第三句话。
任何我试图找到一种方法将每个句子放入数组或新行。像这样:
[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);
?>
答案 0 :(得分:1)
我添加了句子应以大写字母开头的条件。它最终不会捕获多个标点符号。
preg_match_all('/[A-Z][^!?.]+[!?.]/', $string, $matches, PREG_PATTERN_ORDER);