php 内容转换dom,php – 防止DOMDocument :: loadHTML()转换实体
我有一個字符串值,我正在嘗試提取列表項.我想提取文本和任何子節點,但是,DOMDocument正在將實體轉換為角色,而不是保留原始狀態.
我已經嘗試將DOMDocument :: resolveExternals和DOMDocument :: substituteEntities設置為false,但這沒有任何效果.應該注意我使用PHP 5.2.17在Win7上運行.
示例代碼是:
$example = '
- text'.
'
? of this is strong';echo 'To be converted:'.PHP_EOL.$example.PHP_EOL;
$doc = new DOMDocument();
$doc->resolveExternals = false;
$doc->substituteEntities = false;
$doc->loadHTML($example);
$domNodeList = $doc->getElementsByTagName('li');
$count = $domNodeList->length;
for ($idx = 0; $idx < $count; $idx++) {
$value = trim(_get_inner_html($domNodeList->item($idx)));
/* remainder of processing and storing in database */
echo 'Saved '.$value.PHP_EOL;
}
function _get_inner_html( $node ) {
$innerHTML= '';
$children = $node->childNodes;
foreach ($children as $child) {
$innerHTML .= $child->ownerDocument->saveXML( $child );
}
return $innerHTML;
}
&安培; frac12;最終轉換為?(單字符/ UTF-8版本,而不是實體版本),這不是所需的格式.
總結
以上是生活随笔為你收集整理的php 内容转换dom,php – 防止DOMDocument :: loadHTML()转换实体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哪些银行卡能异地补办 不同银行的要求不同
- 下一篇: p2p爆雷原因