维基照片的格式大多是
“http://upload.wikimedia.org/wikipedia/commons/thumb/照片名.jpg(png等)/多少像素-照片名.jpg(png等)求一个PHP正则,DOM,或者其他方法,可以更改维基小照片地址变成大照片地址。
去掉thumb部分,截取到第一个 .jpg(png等)。谢谢。比如原始小照片地址:
http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.png/250px-Shanghai_montage.png
大照片地址
http://upload.wikimedia.org/wikipedia/commons/d/de/Shanghai_montage.png
“http://upload.wikimedia.org/wikipedia/commons/thumb/照片名.jpg(png等)/多少像素-照片名.jpg(png等)求一个PHP正则,DOM,或者其他方法,可以更改维基小照片地址变成大照片地址。
去掉thumb部分,截取到第一个 .jpg(png等)。谢谢。比如原始小照片地址:
http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.png/250px-Shanghai_montage.png
大照片地址
http://upload.wikimedia.org/wikipedia/commons/d/de/Shanghai_montage.png
<?php function getBigpicSrc($smallPicsrc){
$regx = "/^(http:\/\/.+\.(png|gif|jpg|jpeg|bmp))(\/[0-9]+px\-[^\/]+)?$/";
if (preg_match($regx,$smallPicsrc,$out)) {
return $out[1];
}
return FALSE;
}$arr = array(
"http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.png/250px -Shanghai_montage.png",
"http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.png/250px -Shanghai_montage.pn g",
"http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.pn g/250px -Shanghai_montage.png",
"http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.pn g/250px -Shanghai_montage.pn g",
"http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.gif/250px -Shanghai_montage.gif"
);foreach ($arr as $url){
$bigsrc = getBigpicSrc($url);
if ($bigsrc) {
echo "Ok!";
}else{
echo "No!";
}
echo "\r\n\t".$url."\r\n\t=> \r\n\t".$bigsrc."\r\n-------------------------\r\n";
}
/*
X-Powered-By: PHP/5.2.0
Content-type: text/htmlOk!
http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.png/250px -Shanghai_montage.png
=>
http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.png/250px -Shanghai_montage.png
-------------------------
No!
http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.png/250px -Shanghai_montage.pn g
=>
-------------------------
Ok!
http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.pn g/250px -Shanghai_montage.png
=>
http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.pn g/250px -Shanghai_montage.png
-------------------------
No!
http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.pn g/250px -Shanghai_montage.pn g
=>
-------------------------
Ok!
http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.gif/250px -Shanghai_montage.gif
=>
http://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Shanghai_montage.gif/250px -Shanghai_montage.gif
-------------------------*/
$regx = "/^(http:\/\/.+\.(png|gif|jpg|jpeg|bmp))(\/[0-9]+px\-[^\/]+)?$/"; //这个
$match="#^(.*)(\/thumb)(.*)(\/.*\.(png|gif|jpg|jpeg|bmp))(\/)(.*)$#";
$url=preg_replace($match,"\\1\\3\\4",$url);
echo $url
。function getBigpicSrc($smallPicsrc){
$regx = "/^(http:\/\/.+\.(jpg|png|bmp|gif|jpeg))(\/[0-9]+px\-[^\/]+\.(jpg|png|bmp|gif|jpeg))?$/isU";
if (preg_match($regx,$smallPicsrc,$out)) {
return $out[1];
}
return FALSE;
}