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