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

Тема в разделе "Как сделать...", создана пользователем dirdir, 17 апр 2012.

  1. dirdir

    dirdir Постоялец

    Регистр.:
    19 мар 2012
    Сообщения:
    85
    Симпатии:
    11
    PHP:
    $text preg_split ('#(\n|\!\s|\.\s)#'$text, -1PREG_SPLIT_DELIM_CAPTURE);
    результат

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

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

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

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    наверное так
    PHP:
    $text preg_split ('#(\n|\!\s|\.\s)#s'$text, -1PREG_SPLIT_DELIM_CAPTURE); 
     
  3. dirdir

    dirdir Постоялец

    Регистр.:
    19 мар 2012
    Сообщения:
    85
    Симпатии:
    11
    не, так к сожалению не получится

    PHP:
    // Разбиваем текст по переносам, точка и прочей хне
    $text preg_split ('#(\n|\!\s|\.\s|\.\'|\.\")#'$text, -1PREG_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++;
    }
    сделал так. Бейте. Пинайте.
     
  4. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    выложите тестовый текст и то, что вы в результате хотите получить от preg_split
     
  5. dirdir

    dirdir Постоялец

    Регистр.:
    19 мар 2012
    Сообщения:
    85
    Симпатии:
    11
    Предложения разные слова и тп. Предложения разные слова и тп! Предложения разные слова и тп." Предложения разные слова и тп.Предложения разные слова и тп.

    Результат

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


    ________________
    В общем взять и разбить текст на строки. С учётом того что текст с ошибками и т.п.
     
  6. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    dirdir нравится это.
  7. dirdir

    dirdir Постоялец

    Регистр.:
    19 мар 2012
    Сообщения:
    85
    Симпатии:
    11
    Да, спасибо большое.
    Торжественно клянусь что в будущем, после того как я смогу более менее составлять программы, я научусь использовать регулярные выражения.
     
    DrakonHaSh нравится это.