php获取a链接的href属性的三种方法。
方法一:正则表达式法
实例代码如下:
$str = \'<a =\"码农教程\" href=\"http://www.manongjc.com\">码农教程</a>\';
preg_match(\'/^<a.*?href=([\"\\\'])(.*?)\\1.*$/\', $str, $m);
var_dump($m);
运行结果:
array(3) {
[0]=>
string(37) \"<a =\"码农教程\" href=\"http://www.manongjc.com\">码农教程</a>\"
[1]=>
string(1) \"\"\"
[2]=>
string(4) \"http://www.manongjc.com\"
}
方法二:使用php DOMDocument方法
代码如下:
$dom = new DOMDocument;
$dom->loadHTML($html);
foreach ($dom->getElementsByTagName(\'a\') as $node) {
echo $dom->saveHtml($node), PHP_EOL;
}
以上代码将输出所有$html变量里面的a标签。
获取a标签文本,可以使用下面代码:
echo $node->nodeValue;
检查a标签是否存在href属性,可以使用下面代码:
echo $node->hasAttribute( \'href\' );
使用下面代码获取a标签的href属性值:
echo $node->getAttribute( \'href\' );
使用下面代码修改a标签的href属性值:
$node->setAttribute(\'href\', \'something else\');
删除a标签的href属性值:
$node->removeAttribute(\'href\');
方法二:使用 XPath
实现代码如下:
$dom = new DOMDocument;
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);
$nodes = $xpath->query(\'//a/@href\');
foreach($nodes as $href) {
echo $href->nodeValue; // echo current attribute value
$href->nodeValue = \'new value\'; // set new attribute value
$href->parentNode->removeAttribute(\'href\'); // remove attribute
} 继续阅读与本文标签相同的文章
下一篇 :
医疗AI如何助力于未来医院信息化建设?
-
性能优化之卡顿延迟
2026-05-14栏目: 教程
-
第16问:Filecoin从DSN角度解读
2026-05-14栏目: 教程
-
C/C+从零基础到精通,究竟是如何快速完成的?其实只需要这6步!
2026-05-14栏目: 教程
-
谷歌再爆重大安全漏洞!华为却成最大赢家?网友:这谁还敢用!
2026-05-14栏目: 教程
-
Excel崩溃文件如何找回
2026-05-14栏目: 教程
