使用PHP的DOM函数,如何将DOM节点的内容转换为字符串?
<foo>
Blah blah <bar baz="1">bah</bar> blah blah
</foo>
Run Code Online (Sandbox Code Playgroud)
鉴于foo作为当前上下文节点,你怎么'Blah blah <bar baz="1">bah</bar> blah blah'作为一个字符串?使用$node->textContent或$node->nodeValue只返回文本节点,而不是<bar baz="1">位.
基本上,相当于Javascript的innerHTML属性......
您可以从<foo>节点创建新的DOMDocument 并将其解析为XML或HTML:
function getInnerHTML($node) {
$tmpDoc = new DOMDocument('1.0');
$block = $tmpDoc->importNode($node->cloneNode(true),true);
$tmpDoc->appendChild($block);
$outer = $tmpDoc->saveHTML();
//this will remove the outer tags
return substr($outer,strpos($outer,'>')+1,-(strlen($node->nodeName)+4));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
432 次 |
| 最近记录: |