«

php关于 DOMDocument 类的使用示例。

瑞瑞瑞 发布于 阅读:141 技术分享


以下是一些关于DOMDocument类的使用示例:

一、获取特定元素的文本内容

$html = '<html><body><div id="mydiv">This is some text.</div></body></html>';

$dom = new DOMDocument();
@$dom->loadHTML($html);

$element = $dom->getElementById('mydiv');
if ($element) {
    echo $element->textContent;
}

二、修改元素的属性值

$html = '<html><body><a href="old-link">Old Link</a></body></html>';

$dom = new DOMDocument();
@$dom->loadHTML($html);

$links = $dom->getElementsByTagName('a');
foreach ($links as $link) {
    $link->setAttribute('href', 'new-link');
}

echo $dom->saveHTML();

三、添加新元素

$html = '<html><body><div id="container"></div></body></html>';

$dom = new DOMDocument();
@$dom->loadHTML($html);

$container = $dom->getElementById('container');
if ($container) {
    $newElement = $dom->createElement('p', 'This is a new paragraph.');
    $container->appendChild($newElement);
}

echo $dom->saveHTML();

四、遍历特定元素的子元素

$html = '<html><body><ul><li>Item 1</li><li>Item 2</li><li>Item 3</li></ul></body></html>';

$dom = new DOMDocument();
@$dom->loadHTML($html);

$listItems = $dom->getElementsByTagName('li');
foreach ($listItems as $item) {
    echo $item->textContent. PHP_EOL;
}

五、删除特定元素

$html = '<html><body><div class="to-delete">This will be deleted.</div><div>Other content.</div></body></html>';

$dom = new DOMDocument();
@$dom->loadHTML($html);

$elementsToDelete = $dom->getElementsByClassName('to-delete');
foreach ($elementsToDelete as $element) {
    $element->parentNode->removeChild($element);
}

echo $dom->saveHTML();