0

我使用 php domDocument 来解析 HTML 内容并将文本附加到图像标签的 url 并将其保存为 HTML。

我的PHP代码如下:

$dom = new domDocument;
libxml_use_internal_errors(true);
$dom->loadHTMLFile('test.html');
libxml_use_internal_errors(false);
$dom->preserveWhiteSpace = false;
$images = $dom->getElementsByTagName('img');
foreach($images as $img)
{
    $url = $img->getAttribute('src');   
    $alt = $img->getAttribute('alt');
    echo $src = 'http://api.imgble.com/resize|0.5|0.5/'.$url;
    $img->setAttribute( 'src' , $src);
}
$str=$dom->saveHTML();
print $str;

问题是当我$src在保存之前打印 url() 时,它显示的特殊字符与它显示的完全一样。

http://api.imgble.com/resize|0.5|0.5|0/http://farm1.static.flickr.com/57/197881059_aeb724b1cf.jpg

但是当我保存并打印它时,它显示了那个特殊字符的十六进制代码,即那个垂直条的 %7C | 如下:

http://api.imgble.com/resize%7C0.5%7C0.5%7C0/http://farm1.static.flickr.com/57/197881059_aeb724b1cf.jpg

我什至使用了那个特殊字符的数字代码,甚至使用html_entity_decode(). 但没有任何效果。有人遇到过这个问题吗?

4

0 回答 0