我使用下面的代码提取图像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;
    }

}

最佳答案

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

IE:

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

09-30 16:29