可靠的HTML正则表达式很困难。这是使用DOM的方法:
$dom = new DOMdocument;$dom->loadHTML($html);foreach ($dom->getElementsByTagName('a') as $node) { echo $dom->saveHtml($node), PHP_EOL;}上面将找到并输出字符串中所有元素的“outerHTML”。
A``$html
要 获取 节点的所有文本值,请执行以下操作
echo $node->nodevalue;
要 检查 是否
href属性存在,你可以做
echo $node->hasAttribute( 'href' );
为了 获得 该
href你做的属性
echo $node->getAttribute( 'href' );
要 更改 的
href属性,你会怎么做
$node->setAttribute('href', 'something else');要 删除 的
href,你会怎么做属性
$node->removeAttribute('href');您也可以
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}


