preg_split включить разделитель в строку

dirdir

Постоялец
Регистрация
19 Мар 2012
Сообщения
112
Реакции
16
PHP:
$text = preg_split ('#(\n|\!\s|\.\s)#', $text, -1, PREG_SPLIT_DELIM_CAPTURE);

результат

[4] => текст1
[5] => разделитель1
[6] => текст2
[7] => разделитель2

Разве нет встроенных функций и флагов что бы разделитель включался в наеденные строки??? И было

[4] => текст1 разделитель1
[5] => текст2 разделитель2
 
наверное так
PHP:
$text = preg_split ('#(\n|\!\s|\.\s)#s', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
 
не, так к сожалению не получится

PHP:
// Разбиваем текст по переносам, точка и прочей хне
$text = preg_split ('#(\n|\!\s|\.\s|\.\'|\.\")#', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
 
// Сливаем предложения с разделителем Т.к. после разбивки разделители удоляютса из предложений по кой-то х
$i=0;
foreach ($text AS $key)
{
 
        $new_mas[] = trim($text[$i].$text[$i+1]);
 
$i++;
$i++;
}
// Теперь ещё удаляем пустые элементы или маленькие строки...
$i=0;
foreach ($new_mas AS $key=>$value)
{
 
    if (strlen($value) < 5){
        unset($new_mas[$i]);}
 
$i++;
}

сделал так. Бейте. Пинайте.
 
выложите тестовый текст и то, что вы в результате хотите получить от preg_split
 
Предложения разные слова и тп. Предложения разные слова и тп! Предложения разные слова и тп." Предложения разные слова и тп.Предложения разные слова и тп.

Результат

[0] => Предложения разные слова и тп.
[1] => Предложения разные слова и тп!
[2] => Предложения разные слова и тп."
[3] => Предложения разные слова и тп.


________________
В общем взять и разбить текст на строки. С учётом того что текст с ошибками и т.п.
 
Да, спасибо большое.
Торжественно клянусь что в будущем, после того как я смогу более менее составлять программы, я научусь использовать регулярные выражения.
 
Назад
Сверху