|
|
|
| Делаю так:
preg_match_all('#<span style="position: relative; top: 2px;">([\s\S]+)</span>#', $q, $arr);
Если у нас в тексте только (все переносы строки сохранены)
<span style="position: relative; top: 2px;">
Какой-то текст
</span>
|
Тогда он нормально достаёт текст. А если у нас целая HTML-страница, то он почему-то и в $arr[0] и в $arr[1] помещает весь код страницы после КАКОЙ-ТО ТЕКСТ (в первом случае начиная с <span style="position: relative; top: 2px;">, а во втором начиная с КАКОЙ-ТО ТЕКСТ)
В чём может быть проблема? | |
|
|
|
|
|
|
|
для: DEM
(06.03.2013 в 14:33)
| | попробуйте изменить ([\s\S]+) на ([^<]+)
возможно надо применить модификатор U | |
|
|
|
|
|
|
|
для: DEM
(06.03.2013 в 14:33)
| | preg_match_all("/<span style=\"position: relative; top: 2px;\">(.+?)<\/span>/Us", $q, $arr);
У Вас открывающие кавычки почему-то одинарные, а закрывающие - двойные. Это раз.
Второе. Мод. U применяется в случае, если кодировка страниц в utf-8.
Мод. s применяется, если в ожидаемой строке могут быть переносы строк. | |
|
|
|
|
|
|
|
для: Deed
(06.03.2013 в 16:59)
| | >>>Второе. Мод. U применяется в случае, если кодировка страниц в utf-8.
если бы была не заглавная буква, а маленькая "u", тогда Вы правы
А если "U", то модификатор инвертирует "жадность" квантификаторов, т.е. они становятся "нежадными" по умолчанию и "жадными" если предшествуют символу " ?"
Автору вопроса, неплохо было бы показать исходную страницу... | |
|
|
|
|
|
|
|
для: Slo_Nik
(06.03.2013 в 17:14)
| | Биг падн. Естественно: preg_match_all("/<span style=\"position: relative; top: 2px;\">(.+?)<\/span>/us", $q, $arr); | |
|
|
|