Извлечь href из URL с помощью класса, используя PHP? - PullRequest
2 голосов
/ 15 декабря 2010

Возможно ли это даже ...

Скажем, у меня есть текст со ссылкой с классом 'click':

<p>I am some text, i am some text, i am some text, i am some text
<a class="click" href="http://www.google.com">I am a link</a>
i am some text, i am some text, i am some text, i am some text</p>

Используя PHP, получите ссылку с именем класса, 'click', а затем получить значение href?

Ответы [ 2 ]

6 голосов
/ 15 декабря 2010

Есть несколько способов сделать это, самый быстрый - использовать XPath:

$dom = new DOMDocument;
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);

$nodeList = $xpath->query('//a[@class="click"]');
foreach ($nodeList as $node) {
    $href = $node->getAttribute('href');
    $text = $node->textContent;
}
2 голосов
/ 15 декабря 2010

Тебе вообще не нужно усложнять свою жизнь:

$string='that html code with links';
// while matches found
while(preg_match('/<a class="click" href="([^"]*)">/', $string, $matches)){
    // print captured group that's actually the url your searching for
    echo $matches[1];
}
...