PHP 字符串操作 : Extract hrefs

标签 php string href extract

我有一个 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/

相关文章:

php - 我应该如何开始使用 PHPUnit 作为我已经制作的一堆函数和类的测试框架?

php - 如何编辑此插件以显示今天在线和现在在线的帖子数大1 - MYBB onlinetoday

c# - 从非常大的文本文件中删除重复的字符串

string - 在 Julia 中以整数形式表示非数字字符串

php - href 内的按钮

php - 在 centos 中放宽 open_basedir 错误

php 使用表单重定向

c# 字符串格式化

javascript - 创建一个 JS 弹出窗口,链接到数据库中的数据

xml - 设置 xsl :value-of into an href attribute and the text field of a link in an XSLT