Pee*_*Haa 3 php dom html-parsing domdocument
假设我有以下字符串:
<span>This <b>is</b> an <span class="something">example</span></span>
我想删除跨度而不是内容.
$content = '<span>This <b>is</b> an <span class="something">example</span></span>';
$dom = new DOMDocument();
$dom->loadXML($content);
$nodes = $dom->getElementsByTagName('span');
foreach ($nodes as $node) {
// remove span but not content
}
$dom->save($var); // $dom->save() saves to file but I want to save to $var
Run Code Online (Sandbox Code Playgroud)
所以它$var
包含:This <b>is</b> an example
.
所以基本上我有两个问题:
span
s像这样的东西应该做的伎俩:
<?php
function removeTag($content, $tagName) {
$dom = new DOMDocument();
$dom->loadXML($content);
$nodes = $dom->getElementsByTagName($tagName);
while ($node = $nodes->item(0)) {
$replacement = $dom->createDocumentFragment();
while ($inner = $node->childNodes->item(0)) {
$replacement->appendChild($inner);
}
$node->parentNode->replaceChild($replacement, $node);
}
return $dom->saveHTML();
}
$content = '<span>This <b>is</b> an <span>example</span></span>';
echo removeTag($content, 'span'); // echos "This <b>is</b> an example"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1639 次 |
最近记录: |