我有一个 HTML 字符串,我想检查其中是否有任何链接,如果有,提取它们并将它们放入一个数组中。我可以在 jQuery 中使用其选择器的简单性来做到这一点,但我找不到在 PHP 中使用的正确方法。
例如,字符串可能如下所示:
<h1>Doctors</h1>
<a title="C - G" href="linkl.html">C - G</a>
<a title="G - K" href="link2.html">G - K</a>
<a title="K - M" href="link3.html">K - M</a>
我如何(在 PHP 中)将其转换为类似于以下内容的数组:
[1]=>"link1.html"
[2]=>"link2.html"
[3]=>"link3.html"
谢谢, 伊恩
最佳答案
您可以使用 PHP 的 DOMDocument
库来解析 XML 和/或 HTML。像下面这样的东西应该可以解决问题,从 HTML 字符串中获取 href
属性。
$html = '<h1>Doctors</h1>
<a title="C - G" href="linkl.html">C - G</a>
<a title="G - K" href="link2.html">G - K</a>
<a title="K - M" href="link3.html">K - M</a>';
$hrefs = array();
$dom = new DOMDocument();
$dom->loadHTML($html);
$tags = $dom->getElementsByTagName('a');
foreach ($tags as $tag) {
$hrefs[] = $tag->getAttribute('href');
}
关于PHP 字符串操作 : Extract hrefs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4702987/