preg соответствует всем тегам с тем же классом из file_get_contents

я хочу получить все теги a с тем же классом из файла HTML,
я пытался:

$html = file_get_contents('http://10tv.nana10.co.il/Category/?CategoryID=400008');
preg_match_all('/<a\s+class="FooterNavigationItemValue">(.*)<\/a>/', $html, $div_array);
return var_dump($div_array);

но я получаю пустой массив, помогите?

0

Решение

Как прокомментировал Марк Б., лучше всего использовать DOM. Но так как вы ищете регулярное выражение:

'#<a.*?class="FooterNavigationItemValue".*?>(.*?)</a>#s'

Постскриптум Я посмотрел на сайт, упомянутый в коде, и этот кусок регулярного выражения делает свою работу отлично.

Теперь объяснение:
два .*? до и после class="FooterNavigationItemValue" чтобы убедиться, что строка по-прежнему совпадает, если есть что-то до и после class="FooterNavigationItemValue",

И я использовал (.*?) вместо (.*) для предотвращения регулярных выражений жадности. Более подробную информацию можно найти здесь: Что ленивый и жадный означает в контексте регулярных выражений?

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]