Многострочный поиск по регулярке. PHP - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB93.4409
BTC/USD64570.7990
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 04.02.2010, 21:33   #1
imgreen
Senior Member
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 13,230
Бабло: $247845901
По умолчанию Многострочный поиск по регулярке. PHP

Сабж, как сделать?
Если встречаются переносы строки, то уже не находит
Обычно решал удалением переносов строк, но сейчас надо без этого...
Нагуглить не получилось что-то(
imgreen вне форума  
Старый 04.02.2010, 21:40   #2
Hector
hustle
 
Аватар для Hector
 
Регистрация: 02.05.2008
Адрес: 3d world
Сообщений: 12,890
Бабло: $1717315
Отправить сообщение для Hector с помощью Jabber
По умолчанию

preg_match_all?

код в студию откуда парсить
Hector вне форума  
Старый 04.02.2010, 21:52   #3
Alek$
Антисоциальный
 
Аватар для Alek$
 
Регистрация: 04.02.2010
Адрес: Новосибирск
Сообщений: 2
Бабло: $1330
Отправить сообщение для Alek$ с помощью Skype™
По умолчанию

К регулярному выражению добавь модификатор m и все будет отлично.
Т.е. что-то вроде этого:
Код:
preg_match("/regular_expression/m", $code, $matches);
Alek$ вне форума  
Старый 04.02.2010, 21:53   #4
ziavra
Senior Member
 
Регистрация: 10.04.2007
Адрес: Balifor
Сообщений: 468
Бабло: $29318
По умолчанию

Там есть 2 модификатора:
Цитата:
m (PCRE_MULTILINE)
По умолчанию PCRE обрабатывает данные как однострочную символьную строку (даже если она содержит разделители строк). Метасимвол начала строки '^' соответствует только началу обрабатываемого текста, в то время как метасимвол "конец строки" '$' соответствует концу текста, либо позиции перед завершающим текст переводом строки (в случае, если модификатор D не установлен). В Perl ситуация полностью аналогична. Если этот модификатор используется, метасимволы "начало строки" и "конец строки" также соответствуют позициям перед произвольным символом перевода и строки и, соответственно, после. Это соответствует Perl-модификатору \m. В случае, если обрабатываемый текст не содержит символов перевода строки, либо шаблон не содержит метасимволов '^' или '$', данный модификатор не имеет никакого эффекта.
s (PCRE_DOTALL)
Если данный модификатор используется, метасимвол "точка" в шаблоне соответствует всем символам, включая перевод строк. Без него - всем, за исключением переводов строк. Этот модификатор эквивалентен записи /s в Perl. Класс символов, построенный на отрицании, например [^a], всегда соответствует переводу строки, независимо от наличия этого модификатора.
Вот в их сторону и смотри.
ziavra вне форума  
Старый 04.02.2010, 22:01   #5
imgreen
Senior Member
 
Аватар для imgreen
 
Регистрация: 15.11.2008
Сообщений: 13,230
Бабло: $247845901
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от ziavra Посмотреть сообщение
Там есть 2 модификатора:


Вот в их сторону и смотри.
Спасибо, модификатор s помог.
imgreen вне форума