PHP DomDocument - getAllChildrenByTagName

Ela*_*amb 0 php children domdocument

在PHP中是否有像"getAllChildrenByTagName"这样的函数?

$dom = new DOMDocument();
$dom->loadXML('<p><a id="1">test 1</a><span><a id="2">test 2</a></span></p>');
foreach($dom->getElementsByTagName('a') AS $node)
    echo($node->textContent);
Run Code Online (Sandbox Code Playgroud)

这里我只想要带有"id = 1"的a-Tag.可能吗?

nic*_*ckb 5

您可以使用XPath直接获取您正在寻找的元素:

$dom = new DOMDocument();
$dom->loadXML('<p><a id="1">test 1</a><span><a id="2">test 2</a></span></p>');

$xpath = new DOMXpath( $dom);
$a = $xpath->query( '//a[@id="1"]')->item( 0);
echo $a->textContent;
Run Code Online (Sandbox Code Playgroud)

将打印:

test 1 
Run Code Online (Sandbox Code Playgroud)