输出错误的 DOMDocument saveHTML
DOMDocument saveHTML with wrong output
我有这个简单的代码:
$input = '<p>ěščřžýáíé</p><p><img alt="" src="http://www.test.com/img.jpg" style="width: 100px; height: 100px;"></p>';
$dom = new DOMDocument('1.0', 'UTF-8');
$dom->encoding = 'UTF-8';
$dom->loadHTML($input, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$imgs = $dom->getElementsByTagName('img');
foreach($imgs as $img){
$src = $img->getAttribute('src');
$style = $img->getAttribute('style');
$newSrc = 'http://www.test.com/img001.jpg';
$img->setAttribute( 'src' , $newSrc );
}
$content = $dom->saveHTML();
问题在于输出已编码。
我希望输入的字符相同。
我尝试解码但没有成功。使用 DOM 对象有问题吗?
<p>ěščřžýáíé<p><img alt="" src="http://www.test.com/img001.jpg" style="width: 100px; height: 100px;"></p></p>
saveHTML()
有一些我不明白的 'features',但是当使用特定的文档节点保存时,如果您随后 utf8_decode()
结果...
$content = utf8_decode($dom->saveHTML($dom->documentElement));
给...
<p>ěščřžýáíé<p><img alt="" src="http://www.test.com/img001.jpg" style="width: 100px; height: 100px;"></p></p>
我有这个简单的代码:
$input = '<p>ěščřžýáíé</p><p><img alt="" src="http://www.test.com/img.jpg" style="width: 100px; height: 100px;"></p>';
$dom = new DOMDocument('1.0', 'UTF-8');
$dom->encoding = 'UTF-8';
$dom->loadHTML($input, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$imgs = $dom->getElementsByTagName('img');
foreach($imgs as $img){
$src = $img->getAttribute('src');
$style = $img->getAttribute('style');
$newSrc = 'http://www.test.com/img001.jpg';
$img->setAttribute( 'src' , $newSrc );
}
$content = $dom->saveHTML();
问题在于输出已编码。 我希望输入的字符相同。 我尝试解码但没有成功。使用 DOM 对象有问题吗?
<p>ěščřžýáíé<p><img alt="" src="http://www.test.com/img001.jpg" style="width: 100px; height: 100px;"></p></p>
saveHTML()
有一些我不明白的 'features',但是当使用特定的文档节点保存时,如果您随后 utf8_decode()
结果...
$content = utf8_decode($dom->saveHTML($dom->documentElement));
给...
<p>ěščřžýáíé<p><img alt="" src="http://www.test.com/img001.jpg" style="width: 100px; height: 100px;"></p></p>