PHP preg_split добавить сплит для новой строки - PullRequest
0 голосов
/ 12 декабря 2018

Я использую это preg_split, чтобы разделить фараграф везде, где есть точки, после которых есть пробел или заглавный алфавитный символ:

$p = "This is a dummy text. And it has a new line in it \n it also has dots. Byt not";
$arr  = preg_split('/\.\s*?(?=[A-Z])/', $p);

Это также предотвращает создание последней точки в абзацебыть разделенным (это то, что я хочу), но теперь мне нужно, чтобы разделить также новые строки (или строки).Я не могу обернуть это вокруг головы ...: (

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Вы можете разделить, используя чередование, которое соответствует либо точке, за которой следуют 0+ горизонтальных пробельных символов и затем 1+ заглавные буквы, либо | последовательность символов новой строки в Unicode:

\.(?=\h*[A-Z])|\R+

Например:

$p = "This is a dummy text. And it has a new line in it \n it also has dots. Byt not.";
$arr  = preg_split('/\.(?=\h*[A-Z])|\R+/', $p);

См. Демоверсию Regex | php demo

0 голосов
/ 12 декабря 2018

Попробуйте это:

$arr  = preg_split('/\.\s*?(?=[A-Z])|(\r\n|\n|\r)/', $p);
...