php dom获取图像src路径编码

时间:2012-11-06 08:30:33

标签: php

我使用下面的代码来提取图像src路径。但是当图像文件名具有特殊字符时这是一个问题(例如:~DQBTZ_UC(G@STWO_1R2U_Q4.gif),输出转为如下:~6Z6W4%255BO29FQ %255BA4YN_%255BFR9%2529M.gif

如何解决此问题?抱歉我的英语不好。

function _get_imagepath($content){

    $doc = new DOMDocument();
    $doc->loadHTML($content);
    $imagepaths=array();
    $imageTags = $doc->getElementsByTagName('img');
    $folder=file_directory_path();
    foreach($imageTags as $tag) {

        $imagepaths[]=$tag->getAttribute('src');
    }

    if(!empty($imagepaths)){

        return $imagepaths;
    }else{

        return FALSE;
    }

}

3 个答案:

答案 0 :(得分:8)

您的文件名似乎是URL编码的。看看http://php.net/manual/en/function.urldecode.php

即:

foreach($imageTags as $tag) {
    $imagepaths[]=urldecode($tag->getAttribute('src'));
}

答案 1 :(得分:0)

您获得编码的网址。

您想使用urldecode

  

解码给定字符串中的任何%##编码。加上符号('+')   解码为空格字符。

urldecode() in PHP Manual

答案 2 :(得分:0)

替换

return $imagepaths;

return urldecode($imagepaths);

解码您的图片网址。