php获取a链接的href属性的几种方法

PHP获取a链接的href属性的三种方法

方法一:正则表达式法

实例代码如下:

$str = '';

preg_match('/^

var_dump($m);

运行结果:

array(3) {

[0]=>

string(37) ""

[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

}

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...