Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: 6310
Последний выпуск: 19.06.2015

Вытащить из странице только нужные ссылки

88K
07 мая 2013 года
Алексей Кирёв
2 / / 07.05.2013
Всем привет, есть ссылки вида
 
Код:
<a ui:bind="out.url" href="ссылка">что-то</a>
Вытаскиваю регуляркой, но приходит пустой массив
 
Код:
preg_match_all('|<a.* *bind="out.url" href=(.*)>|U', $html, $out);
Как можно исправить?
1
07 мая 2013 года
kot_
7.3K / / 20.01.2000
а так:

 
Код:
'#<a.*?bind="out.url" href=(.*?)>#ims'
8
08 мая 2013 года
mfender
3.5K / / 15.06.2005
Если я правильно смекаю, нужность ссылки определяется по содержимому ui:bind ? Тогда нужно и условие соответствующее поставить. И точку экранировать надо в out.url
Вот так попробуй. Работает только для ссылок, у которых что-то там out.url
 
Код:
"#<a.*?(?=out\.url).*href=['\"]*(.*?)['\"]*>#i"
88K
08 мая 2013 года
Алексей Кирёв
2 / / 07.05.2013
Всё равно на выходе получается пустой массив


Код:
Array
(
    [0] => Array
        (
        )

    [1] => Array
        (
        )

)
А так:
 
Код:
"#<a.*? href=['\"]*(.*?)['\"]*>#i"
выводит все ссылки, поэтому в работоспособности всего кода сомнений не возникает
1
08 мая 2013 года
kot_
7.3K / / 20.01.2000

выводит все ссылки, поэтому в работоспособности всего кода сомнений не возникает


Совершенно напрасно. Потому что оба примера полностью рабочие - но у камрада mfender естественно более точный - потому что я в своем забыл отсечь кавычки. Точку экранировать в этой задаче совершенно не обязательно - но замечание в принципе справедливое. Так что разбирайтесь со своим кодом.
Итоговый - и вполне корректный код:

 
Код:
#<a.*?bind="out.url" href="(.*?)">#ims
пример теста
http://regexpr.ru/?pattern=%23%3Ca.*%3Fbind%3D%22out.url%22+href%3D%22%28.*%3F%29%22%3E%23ims&subject=%3Ca+ui%3Abind%3D%22out.url%22+href%3D%22%F1%F1%FB%EB%EA%E0%22%3E%F7%F2%EE-%F2%EE%3C%2Fa%3E

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог