0

HTML コンテンツの解析に php domDocument を使用し、イメージ タグの 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;

問題は、保存する前に url( $src) を印刷すると、表示されたとおりに特殊文字が表示されることです。

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

しかし、保存して印刷すると、その特殊文字の HEX コード、つまりその垂直バーの %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