Реклама на сайте Advertise with us

Подскажите по регулярке.

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 08/05/14 в 12:07       Ответить с цитатойцитата 

Код: [развернуть]

Хотел с галереи спарсить тумбы и изображения, всё бы хорошо, но выдерается вот так:
Код: [развернуть]


т.е. берет вместе с такими кусками </td><td width=174>
не могу понять, где ошибка icon_confused.gif

Спасибо!

0
 
+ + +


С нами с 18.03.14
Сообщения: 43
Рейтинг: 30

Ссылка на сообщениеДобавлено: 08/05/14 в 12:44       Ответить с цитатойцитата 

preg_match_all('~<a href="(.+\.jpg)"><img src="(.+\.jpg)"[^>]+></a>~iU', $resultPage, $arrResult);
расскажешь потом, работает или нет icon_smile.gif

4
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 08/05/14 в 14:13       Ответить с цитатойцитата 

всё тоже самое как и у меня icon_smile.gif

0
 



С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970

Ссылка на сообщениеДобавлено: 08/05/14 в 14:52       Ответить с цитатойцитата 

Потсаны рекомендуют дом.

Код: [развернуть]

8
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 08/05/14 в 15:33       Ответить с цитатойцитата 

Если не критично по производительности, то пользуюсь такой штукой Ganon

Код:
preg_match_all('%<a href="(.+\.jpg)"[^>]*><img src="(.+\.jpg)"[^>]*><\/a>%isU', $resultPage, $arrResult);


не панацея, сорс может быть немного другим и правило не сработает

не забываем про жадность квалификаторов

4
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 09/05/14 в 03:48       Ответить с цитатойцитата 

Lexikon писал:
не могу понять, где ошибка icon_confused.gif

Знак вопроса "?" после звездочки ставь.
Почитай Mastering Regular Expressions. "Лучше день потерять, потом за 5 минут долететь." (с)

P.S. И html лучше xpath'ом парсить.

Update: не заметил сразу в коде модификатор U, так что по идее должно работать как раз без "?", ибо он инвертирует "жадность".

Последний раз редактировалось: Mika (09/05/14 в 04:04), всего редактировалось 2 раз(а)

4
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 09/05/14 в 03:49       Ответить с цитатойцитата 

freeek писал:
жадность квалификаторов

И кого они квалифицируют? icon_smile.gif

4
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 09/05/14 в 12:28       Ответить с цитатойцитата 

Mika писал:
И кого они квалифицируют? icon_smile.gif


Цитата:
Квалификаторы говорят о том, сколько раз последовательность символов может встретиться в строке и указываются непосредственно после той части выражения, к которой они применяются


по умолчанию они жадные, захватят всё, что собственно и произошло

Код:
$testString = 'aaaaaaa.jpg aaaaa.jpg';

preg_match('%.+\.jpg%', $testString, $match);

echo '<pre>', print_r($match, true), '</pre>';

preg_match('%.+\.jpg%U', $testString, $match);

echo '<pre>', print_r($match, true), '</pre>';

preg_match('%.+?\.jpg%', $testString, $match);

echo '<pre>', print_r($match, true), '</pre>';

4
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 09/05/14 в 14:42       Ответить с цитатойцитата 

freeek писал:
Квалификаторы говорят о том, сколько раз последовательность символов может встретиться в строке и указываются непосредственно после той части выражения, к которой они применяются

facepalm.gif
Ты б хоть ссылку давал, где такое пишут.
Вот они трудности перевода. Каким образом quantifier можно перевести как квалификатор? А quantification как "спецы" переводят - квалификация?

0
 



С нами с 05.05.05
Сообщения: 1913
Рейтинг: 1134

Ссылка на сообщениеДобавлено: 09/05/14 в 15:19       Ответить с цитатойцитата 

Mika писал:
facepalm.gif
Ты б хоть ссылку давал, где такое пишут.
Вот они трудности перевода. Каким образом quantifier можно перевести как квалификатор? А quantification как "спецы" переводят - квалификация?


smail101.gif все верно, сам оговорился и оговорку привел в цитате, конечно квантификатор, мы же кол-во считаем) smail101.gif

0
 

Люблю то, что делаю!

С нами с 22.10.06
Сообщения: 5053
Рейтинг: 4418


Передовик Master-X (16.12.2014) Передовик Master-X (16.02.2017) Передовик Master-X (01.03.2017) Передовик Master-X (16.03.2017) Передовик Master-X (01.09.2017) Ветеран трепа Master-X (16.09.2017)
Ссылка на сообщениеДобавлено: 10/05/14 в 09:00       Ответить с цитатойцитата 

похоже самый заебенный вариант это работа с DOM/
начал ковырять мануал. Вот только не пойму
есть
Код: [развернуть]

используем
Код: [развернуть]

Это для прохода по массиву, НО!
Почему когда я вызываю
Код: [развернуть]

Мне возвращает
DOMNodeList Object ( [length] => 34 )
34 это как я понял кол-во тех самых элементов

Я почему то подумал что $path - это массив и его можно отобразить через print_r()

0
 



С нами с 01.04.07
Сообщения: 4378
Рейтинг: 2970

Ссылка на сообщениеДобавлено: 10/05/14 в 13:33       Ответить с цитатойцитата 

Там где стрелочки -> там объекты.

print_r(get_object_vars($path))

8
 



С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365

Ссылка на сообщениеДобавлено: 10/05/14 в 17:35       Ответить с цитатойцитата 

Lexikon писал:
начал ковырять мануал.
Я почему то подумал что $path - это массив и его можно отобразить через print_r()

Мануал лучше не ковырять, а читать и понимать icon_smile.gif
http://www.php.net/manual/ru/domxpath.query.php
Цитата:
Возвращаемые значения
Возвращает объект DOMNodeList содержащий узлы, отвечающие условиям отбора в XPath expression. Любой запрос, не возвращающий узлов, вернет пустой объект DOMNodeList.

8
 



С нами с 17.01.06
Сообщения: 146
Рейтинг: 197

Ссылка на сообщениеДобавлено: 26/05/14 в 17:02       Ответить с цитатойцитата 

freeek писал:
Если не критично по производительности, то пользуюсь такой штукой Ganon

Такой парсер использую, удобно. PHP Simple HTML DOM Parser

0
 



С нами с 03.02.11
Сообщения: 842
Рейтинг: 301

Ссылка на сообщениеДобавлено: 27/05/14 в 09:07       Ответить с цитатойцитата 

прикол в том, что у меня код ТС работает. "U" - усмиряет жадность. мне вообще не понятно, что за х...

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »