我使用下面的代码来提取图像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;
}
}
答案 0 :(得分:8)
您的文件名似乎是URL编码的。看看http://php.net/manual/en/function.urldecode.php
即:
foreach($imageTags as $tag) {
$imagepaths[]=urldecode($tag->getAttribute('src'));
}
答案 1 :(得分:0)
答案 2 :(得分:0)
替换
return $imagepaths;
与
return urldecode($imagepaths);
解码您的图片网址。