维基照片的格式大多是
“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,写的一个仿aspnetpager的分页类,求指点
- [求助]discuz在IE浏览器登录不成功如何解决?
- 求教 php preg_match 分析 CPP文件里的类间关系,怎么写?
- 这个正则怎么写?
- 请教跨域提交数据处理并返回数据
- 关于php连接数据库mysql问题
- ThinkPHP 框架 关于数据库是否存在某值的问题
- 写入test.php,敲入本地网址后怎么问我是否要下载test.php
- 如何在文本域里搜索到手机号码将其替换为***?
- 使用PHPLIB的模板之后,还能不能用require!!!
- 我想让我的任可页面不被任何搜索引擎收录应该怎么写robots.txt
- 终于发现了一个php的bug,分享一下
<?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;
}