За последние 24 часа нас посетили 22462 программиста и 1140 роботов. Сейчас ищут 688 программистов ...

preg_match и большой текст

Тема в разделе "PHP для новичков", создана пользователем +Sten+, 21 окт 2010.

  1. +Sten+

    +Sten+ Активный пользователь

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    Регулярка отказывается вытягивать большой кусок текста из еще более большого текста. С текстами больше 50-100 кб работает некорректно.
    pcre.backtrack_limit=1000000
    сейчас в php.ini

    в чем еще может быть проблема?

    Регулярка:

    PHP:
    1. $data = preg_match('/<svg[^>]+>(.*)<\/svg>/Usi', $data, $svg);
    Вытягивает тело SVG файла между тегами <svg></svg>. Если файл большой - вытягивается только последний завершающий тег, который стоит перед </svg>.

    UPD: даже при 10 кб проблемы начинаются.
    UPD2: решено. Дело не в регулярке вообще было, а в strip_tags. Функция глючит при работе с тегами, имеющими множество параметров.