-1

次の HTML コードがあるとします。

<ul>
  <li>
    <a href="/link1/">link 1</a>
  </li>
  <li>
    <a href="/link2/">link 2</a>
  </li>
...
</ul>

PHP を使用して、すべての href の内容を含む配列を返すにはどうすればよいですか?

元:

$array[0]="/link1/";
$array[1]="/link2/";

等々。

4

1 に答える 1

4

(およびこの参照またはこのチャートDOMDocument)と一緒に使用して、HTMLからほぼ何でも抽出できます。DOMXpath

$dom = new DOMDocument;
$dom->loadHTML('<ul>
  <li><a href="/link1/">link 1</a></li>
  <li><a href="/link2/">link 2</a></li>
</ul>');
$xpath = new DOMXpath($dom);
$links = array();
foreach($xpath->query("//ul//a[@href]") as $a) {
    $links[] = $a->getAttribute("href");
}
var_dump($links);

// array(2) {
//   [0]=>
//   string(7) "/link1/"
//   [1]=>
//   string(7) "/link2/"
// }

ファイルからコンテンツをロードするには、 に変更loadHTML($string)します。loadHTMLFile($path_or_url)

于 2013-01-15T21:33:15.623 に答える