1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Склейка текста

Тема в разделе "Web Coding", создана пользователем Danilka, 9 фев 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Danilka

    Danilka Читатель

    Заблокирован
    Регистр.:
    6 фев 2008
    Сообщения:
    11
    Симпатии:
    2
    Подскажите как можно слить два фрагмента кривого текста:
    в

    Силами PHP
     
  2. ZCFD

    ZCFD

    Регистр.:
    16 янв 2008
    Сообщения:
    989
    Симпатии:
    437
    1)берешь кусок второго текста длинной n ( определи его по своим данным примерно) -- $str_nachalo_vtor_text

    2)ищешь позицию вхождения строки $str_nachalo_vtor_text в первом тексте
    3)удаляешь все после этой позиции
    4)делаешь конкатенацию


    на твоем примере:
    1) выбираем n=10
    $str_nachalo_vtor_text="гончих и б"
    2) ищем позицию вхождения
    3) eflztv в первом тексте все после вхождения
    "... устраивалась длительная попойка всех его участников. Очень часто друзья хлебосольного хозяина разъезжались по домам только под утро.
    Чтобы читатель получил полное представление об избалованности и самодурстве Кирилы Петровича, автор вводит в повесть эпизод, подробно описывающий псарню помещика, предмет его гордости и восхищения. В псарне этой “... более пятисот "
    4) склеиваем

    код простой
    под рукой нет справочника, если что завтра напишу
    хотядумаю и сам справишься
     
  3. Danilka

    Danilka Читатель

    Заблокирован
    Регистр.:
    6 фев 2008
    Сообщения:
    11
    Симпатии:
    2
    Пробую, рабочего кода чтото неполучается, если поможншь буду очень благодарен
     
  4. Dogmat

    Dogmat Постоялец

    Регистр.:
    16 фев 2007
    Сообщения:
    122
    Симпатии:
    38
    PHP:
    //длина обрывка, который берется из начала второй части для проверки по первой части.
    $stringOffset=30;

    $string=substr($secondPart,0,$stringOffset);

    $result=substr($firstPart,0,strrpos($firstPart,$string)).$secondPart;
    самое простое. должно помочь. если что - пиши еще, вариантов много =)
     
    Danilka нравится это.
  5. Danilka

    Danilka Читатель

    Заблокирован
    Регистр.:
    6 фев 2008
    Сообщения:
    11
    Симпатии:
    2
    Проверил работает, но проблема в том что смещение ($stringOffset) нефиксированное, те тут надо как либо подругому реализовать.

     
  6. Dogmat

    Dogmat Постоялец

    Регистр.:
    16 фев 2007
    Сообщения:
    122
    Симпатии:
    38
    есть какие нибудь точные условия-закономерности?
    например то что первая часть всегда заканчивается на точку, и размер смежного отрывка не выходит за рамки одного предложения - т.е. одной точки =)

    посмотри это все. можно конечно циклически автоматом это все находить, но дольше будет, чем если будут жестко ограниченные рамки =)
     
  7. Danilka

    Danilka Читатель

    Заблокирован
    Регистр.:
    6 фев 2008
    Сообщения:
    11
    Симпатии:
    2
    Думаю надо сделать типа: поревернуть строку, найти вхождение подстроки в строку, обрезать 2ю троку на эту длинну и склеить

    Буду пробовать
     
  8. Danilka

    Danilka Читатель

    Заблокирован
    Регистр.:
    6 фев 2008
    Сообщения:
    11
    Симпатии:
    2
    Проблему решил, выявил что резалось до точки, Спасибо всем за помощь!
     
Статус темы:
Закрыта.