使用file_get_contents获取特定类中链接的所有锚文本

时间:2018-03-06 22:05:27

标签: php curl file-get-contents

我正在尝试检索此链接的锚文本:

<a class="c-shadow" href="some-random-link">text 1</a>
<a class="c-shadow" href="some-random-link">text 2</a>
<a class="c-shadow" href="some-random-link">text 3</a>
<a class="c-shadow" href="some-random-link">text 4</a>
<a class="c-shadow" href="some-random-link">text 5</a>

考虑到所有这些链接都有相同的类名(c-shadow),我该如何检索所有锚文本?我需要找到文本1,文本2,文本3,文本4,文本5 ......

尊敬的 微米。

1 个答案:

答案 0 :(得分:0)

您可以使用DomDocument&amp;解析该html。 Xpath的。

代码:(Demo

$html = <<<HTML
<a class="c-shadow" href="some-random-link">text 1</a>
<a class="c-shadow" href="some-random-link">text 2</a>
<a class="c-shadow" href="some-random-link">text 3</a>
<a class="c-shadow" href="some-random-link">text 4</a>
<a class="c-shadow" href="some-random-link">text 5</a>
HTML;

$dom = new DOMDocument; 
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
foreach ($xpath->evaluate("//a[@class='c-shadow']") as $node) {
  $result[] = $node->nodeValue;
}
var_export($result);

输出:

array (
  0 => 'text 1',
  1 => 'text 2',
  2 => 'text 3',
  3 => 'text 4',
  4 => 'text 5',
)