Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Тексты > Паттерн больше 80 символов |
Автор: cia 25.1.2008, 20:20 | ||
Возможно, вопрос ламерский, но... Как мне функцией
захватить строки больше 80 символов (79 с нулем на конце)? А то некоторые урлы весьма длинные. |
Автор: ZlojEzh 25.1.2008, 22:36 | ||
если нужны именно url'ы длинее 80 символов, то
|
Автор: gta4kv 26.1.2008, 11:09 | ||
А если не конкретно 80, то наверное так:
|
Автор: cia 27.1.2008, 20:25 |
Нет, нужны все урлы. Пробовал. Это не работает - все равно захватывает только короткие строки. Может нужно какойнить предикат поставить или в настроках пхп (локалхост) ? |
Автор: SelenIT 27.1.2008, 21:29 |
Очевидно, у исходного фрагмента никаких проблем с длиной захватываемой строки нет. То, что ссылки с длинными URLами, по иронии судьбы, не имеют атрибута target сразу после href, или имеют href без кавычек, или набраны в другом регистре, или еще чем-то не соответствуют паттерну - не более чем случайное совпадение. Программа делает ровно то, что программист приказал ей делать, а не то, что он при этом имел в виду - и никакие волшебные настройки и таинственные предикаты пока не в силах это исправить... Можно попробовать просто более универсальный паттерн, вроде следующего - '/<a[^<]+href\s*=\s*(["\']?)(.*?)\\1[\s>]/is' |
Автор: cia 28.1.2008, 17:03 |
Вобщем так. Закинул тестовый скрипт на хост в сети и убедился что там он работает. Долго пытался найти у себя какиенить настройки - безуспешно. На моем компе заработало только после полного сноса и переустановки ПХП. В чем там глюк был не знаю. И спасибо всем, кто пытался помочь. |