modulator
Новичок
Помогите найти ссылку на сайте с помощью preg_match_all().
К примеру, надо найти ссылку на сайте www.mysite.ru
Вот её код:
Так вот пытаюсь найти:
и не фига не работает.
Как объяснить функции
, что после условия, которое работает отлично “<a\s+href=[^>]*mysite\.ru[^>]*>” надо искать любые символы пока не встретится тэг “</a>”.
Варианты: [^</a>], [^(</a>)] не работаю т.к. это символьный класс и ^(отрицание) соответствует любому из указанных символов поодиночке. А мне надо чтобы отрицание соответствовало всем этим символам одновременно “</a>”!
То есть нужно найти ссылку, естественно в куче других тэгов (ссылок) от начала “<a href” и до её конца “</a>” вне зависимости от того на какие она слова, картинки она ссылается. Также в ней могу быть встроены различные тэги (<div>, <font>, и т.д).
Необходимо найти её и вывести на экран (в переменную) от начала и до конца.
Помогите плизз.
К примеру, надо найти ссылку на сайте www.mysite.ru
Вот её код:
PHP:
$html = '<a href="http://www.mysite.ru/mysite.php?sid=523&">
<img src=http://msk.mysite.ru/mysite.php?sid=523&
alt="Мой сайт" width="1" height="1"border="0"><br />
<strong><em>Тра ля ля всякий текст.</em></strong><br></a>';
PHP:
preg_match_all("|<a\s+href=[^>]*mysite\.ru[^>]*>[^</a>]|i", $html, $matches);
print_r($matches);
Как объяснить функции
PHP:
prig_match_all()
Варианты: [^</a>], [^(</a>)] не работаю т.к. это символьный класс и ^(отрицание) соответствует любому из указанных символов поодиночке. А мне надо чтобы отрицание соответствовало всем этим символам одновременно “</a>”!
То есть нужно найти ссылку, естественно в куче других тэгов (ссылок) от начала “<a href” и до её конца “</a>” вне зависимости от того на какие она слова, картинки она ссылается. Также в ней могу быть встроены различные тэги (<div>, <font>, и т.д).
Необходимо найти её и вывести на экран (в переменную) от начала и до конца.
Помогите плизз.