我想把下面<img>里的src=修改成前面<a href>里面的图片地址。(src 有的为空,有的为data:image后加一长串字母)
<?
$str='<a ... ...>; // 省去下面一大段代码
$type='\.png|\.gif.jpg';
$str=preg_replace("/(<a.+)(http.+\.png)(.+)(img src=\")(.+)(\".*\/a>)/Us","\$1\$2\$3\$4\$2\$6",$str);
echo $str;
?>
无法显示全部图片。请教如何修改?
还有是否可以把下面代码放进1.html里,加载到当前php页面再进行正则?谢谢。
<a href="/imgres?imgurl=http://php.opensourcecms.com/adserver/www/delivery/ai.php%3Ffilename%3Doscms_banner.gif%26contenttype%3Dgif&imgrefurl=http://www.opensourcecms.com/&h=200&w=150&sz=11&tbnid=xDZXDQ2gzJpTAM:&tbnh=104&tbnw=78&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__pvVF36gH96vasysUp1hN_VJqIdY="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb43 class=vismothumb43 style=";padding:1px 1px" width=36></a><a href="/imgres?imgurl=http://www.opensourcecms.com/images/news/default/default1.png&imgrefurl=http://www.opensourcecms.com/&h=150&w=150&sz=21&tbnid=pgvhhuQ38JVSLM:&tbnh=96&tbnw=96&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__l10t-kLBgOnqgkSlWUSfxFlA5Tk="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb44 class=vismothumb44 style=";padding:1px 1px" width=48></a><a href="/imgres?imgurl=http://php.opensourcecms.com/adserver/www/delivery/ai.php%3Ffilename%3Dchess-120x200.gif%26contenttype%3Dgif&imgrefurl=http://www.opensourcecms.com/&h=200&w=150&sz=12&tbnid=30UEE3yp70tJtM:&tbnh=104&tbnw=78&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__Mg0LMsc8j-Nx0l7xUrhuhjlQv30="><img src="" alt="" align=middle border=1 height=48 id=vismothumb45 class=vismothumb45 style=";padding:1px 1px" width=36></a><a href="/imgres?imgurl=http://php.opensourcecms.com/adserver/www/delivery/ai.php%3Ffilename%3Dacquia.png%26contenttype%3Dpng&imgrefurl=http://www.opensourcecms.com/&h=200&w=150&sz=85&tbnid=rIopmIRLnwmfUM:&tbnh=104&tbnw=78&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__u-NtxxNyWZ3DqSfS_nJfk16BmNQ="><img src="" alt="" align=middle border=1 height=48 id=vismothumb46 class=vismothumb46 style=";padding:1px 1px" width=36></a>
<a href="/imgres?imgurl=http://php.opensourcecms.com/images/header/logo.png&imgrefurl=http://www.opensourcecms.com/&h=124&w=138&sz=21&tbnid=kLvKE2XR5CDaWM:&tbnh=84&tbnw=93&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__93J6dh-h9CGtngxQE_93fVcRKUk="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb47 class=vismothumb47 style=";padding:1px 1px" width=53></a><a href="/imgres?imgurl=http://img.tradepub.com/free/w_pack04/images/w_pack04c.gif&imgrefurl=http://www.opensourcecms.com/&h=150&w=114&sz=5&tbnid=9Td16BIaiFcbkM:&tbnh=96&tbnw=73&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__rZxotR0pk-obELAwkS2TB7UbgCw="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb48 class=vismothumb48 style=";padding:1px 1px" width=36></a>
<?
$str='<a ... ...>; // 省去下面一大段代码
$type='\.png|\.gif.jpg';
$str=preg_replace("/(<a.+)(http.+\.png)(.+)(img src=\")(.+)(\".*\/a>)/Us","\$1\$2\$3\$4\$2\$6",$str);
echo $str;
?>
无法显示全部图片。请教如何修改?
还有是否可以把下面代码放进1.html里,加载到当前php页面再进行正则?谢谢。
<a href="/imgres?imgurl=http://php.opensourcecms.com/adserver/www/delivery/ai.php%3Ffilename%3Doscms_banner.gif%26contenttype%3Dgif&imgrefurl=http://www.opensourcecms.com/&h=200&w=150&sz=11&tbnid=xDZXDQ2gzJpTAM:&tbnh=104&tbnw=78&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__pvVF36gH96vasysUp1hN_VJqIdY="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb43 class=vismothumb43 style=";padding:1px 1px" width=36></a><a href="/imgres?imgurl=http://www.opensourcecms.com/images/news/default/default1.png&imgrefurl=http://www.opensourcecms.com/&h=150&w=150&sz=21&tbnid=pgvhhuQ38JVSLM:&tbnh=96&tbnw=96&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__l10t-kLBgOnqgkSlWUSfxFlA5Tk="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb44 class=vismothumb44 style=";padding:1px 1px" width=48></a><a href="/imgres?imgurl=http://php.opensourcecms.com/adserver/www/delivery/ai.php%3Ffilename%3Dchess-120x200.gif%26contenttype%3Dgif&imgrefurl=http://www.opensourcecms.com/&h=200&w=150&sz=12&tbnid=30UEE3yp70tJtM:&tbnh=104&tbnw=78&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__Mg0LMsc8j-Nx0l7xUrhuhjlQv30="><img src="" alt="" align=middle border=1 height=48 id=vismothumb45 class=vismothumb45 style=";padding:1px 1px" width=36></a><a href="/imgres?imgurl=http://php.opensourcecms.com/adserver/www/delivery/ai.php%3Ffilename%3Dacquia.png%26contenttype%3Dpng&imgrefurl=http://www.opensourcecms.com/&h=200&w=150&sz=85&tbnid=rIopmIRLnwmfUM:&tbnh=104&tbnw=78&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__u-NtxxNyWZ3DqSfS_nJfk16BmNQ="><img src="" alt="" align=middle border=1 height=48 id=vismothumb46 class=vismothumb46 style=";padding:1px 1px" width=36></a>
<a href="/imgres?imgurl=http://php.opensourcecms.com/images/header/logo.png&imgrefurl=http://www.opensourcecms.com/&h=124&w=138&sz=21&tbnid=kLvKE2XR5CDaWM:&tbnh=84&tbnw=93&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__93J6dh-h9CGtngxQE_93fVcRKUk="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb47 class=vismothumb47 style=";padding:1px 1px" width=53></a><a href="/imgres?imgurl=http://img.tradepub.com/free/w_pack04/images/w_pack04c.gif&imgrefurl=http://www.opensourcecms.com/&h=150&w=114&sz=5&tbnid=9Td16BIaiFcbkM:&tbnh=96&tbnw=73&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__rZxotR0pk-obELAwkS2TB7UbgCw="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb48 class=vismothumb48 style=";padding:1px 1px" width=36></a>
$subject = <<<H
<a href="/imgres?imgurl=http://php.opensourcecms.com/adserver/www/delivery/ai.php%3Ffilename%3Doscms_banner.gif%26contenttype%3Dgif&imgrefurl=http://www.opensourcecms.com/&h=200&w=150&sz=11&tbnid=xDZXDQ2gzJpTAM:&tbnh=104&tbnw=78&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__pvVF36gH96vasysUp1hN_VJqIdY="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb43 class=vismothumb43 style=";padding:1px 1px" width=36></a><a href="/imgres?imgurl=http://www.opensourcecms.com/images/news/default/default1.png&imgrefurl=http://www.opensourcecms.com/&h=150&w=150&sz=21&tbnid=pgvhhuQ38JVSLM:&tbnh=96&tbnw=96&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__l10t-kLBgOnqgkSlWUSfxFlA5Tk="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb44 class=vismothumb44 style=";padding:1px 1px" width=48></a><a href="/imgres?imgurl=http://php.opensourcecms.com/adserver/www/delivery/ai.php%3Ffilename%3Dchess-120x200.gif%26contenttype%3Dgif&imgrefurl=http://www.opensourcecms.com/&h=200&w=150&sz=12&tbnid=30UEE3yp70tJtM:&tbnh=104&tbnw=78&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__Mg0LMsc8j-Nx0l7xUrhuhjlQv30="><img src="" alt="" align=middle border=1 height=48 id=vismothumb45 class=vismothumb45 style=";padding:1px 1px" width=36></a><a href="/imgres?imgurl=http://php.opensourcecms.com/adserver/www/delivery/ai.php%3Ffilename%3Dacquia.png%26contenttype%3Dpng&imgrefurl=http://www.opensourcecms.com/&h=200&w=150&sz=85&tbnid=rIopmIRLnwmfUM:&tbnh=104&tbnw=78&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__u-NtxxNyWZ3DqSfS_nJfk16BmNQ="><img src="" alt="" align=middle border=1 height=48 id=vismothumb46 class=vismothumb46 style=";padding:1px 1px" width=36></a>
<a href="/imgres?imgurl=http://php.opensourcecms.com/images/header/logo.png&imgrefurl=http://www.opensourcecms.com/&h=124&w=138&sz=21&tbnid=kLvKE2XR5CDaWM:&tbnh=84&tbnw=93&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__93J6dh-h9CGtngxQE_93fVcRKUk="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb47 class=vismothumb47 style=";padding:1px 1px" width=53></a><a href="/imgres?imgurl=http://img.tradepub.com/free/w_pack04/images/w_pack04c.gif&imgrefurl=http://www.opensourcecms.com/&h=150&w=114&sz=5&tbnid=9Td16BIaiFcbkM:&tbnh=96&tbnw=73&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__rZxotR0pk-obELAwkS2TB7UbgCw="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb48 class=vismothumb48 style=";padding:1px 1px" width=36></a>
H;
$string = preg_replace("/(<a[^>]*href=\")([^\"]*)(\"[^>]*><img src=\"([^\"]*)\"[^>]*><\/a>)/is","\$1\$4\$3", $subject);
echo $string;
?>
$string ='
<a href="/imgres?imgurl=http://php.opensourcecms.com/adserver/www/delivery/ai.php%3Ffilename%3Doscms_banner.gif%26contenttype%3Dgif&imgrefurl=http://www.opensourcecms.com/&h=200&w=150&sz=11&tbnid=xDZXDQ2gzJpTAM:&tbnh=104&tbnw=78&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__pvVF36gH96vasysUp1hN_VJqIdY="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb43 class=vismothumb43 style=";padding:1px 1px" width=36></a><a href="/imgres?imgurl=http://www.opensourcecms.com/images/news/default/default1.png&imgrefurl=http://www.opensourcecms.com/&h=150&w=150&sz=21&tbnid=pgvhhuQ38JVSLM:&tbnh=96&tbnw=96&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__l10t-kLBgOnqgkSlWUSfxFlA5Tk="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb44 class=vismothumb44 style=";padding:1px 1px" width=48></a><a href="/imgres?imgurl=http://php.opensourcecms.com/adserver/www/delivery/ai.php%3Ffilename%3Dchess-120x200.gif%26contenttype%3Dgif&imgrefurl=http://www.opensourcecms.com/&h=200&w=150&sz=12&tbnid=30UEE3yp70tJtM:&tbnh=104&tbnw=78&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__Mg0LMsc8j-Nx0l7xUrhuhjlQv30="><img src="" alt="" align=middle border=1 height=48 id=vismothumb45 class=vismothumb45 style=";padding:1px 1px" width=36></a><a href="/imgres?imgurl=http://php.opensourcecms.com/adserver/www/delivery/ai.php%3Ffilename%3Dacquia.png%26contenttype%3Dpng&imgrefurl=http://www.opensourcecms.com/&h=200&w=150&sz=85&tbnid=rIopmIRLnwmfUM:&tbnh=104&tbnw=78&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__u-NtxxNyWZ3DqSfS_nJfk16BmNQ="><img src="" alt="" align=middle border=1 height=48 id=vismothumb46 class=vismothumb46 style=";padding:1px 1px" width=36></a>
<a href="/imgres?imgurl=http://php.opensourcecms.com/images/header/logo.png&imgrefurl=http://www.opensourcecms.com/&h=124&w=138&sz=21&tbnid=kLvKE2XR5CDaWM:&tbnh=84&tbnw=93&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__93J6dh-h9CGtngxQE_93fVcRKUk="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb47 class=vismothumb47 style=";padding:1px 1px" width=53></a><a href="/imgres?imgurl=http://img.tradepub.com/free/w_pack04/images/w_pack04c.gif&imgrefurl=http://www.opensourcecms.com/&h=150&w=114&sz=5&tbnid=9Td16BIaiFcbkM:&tbnh=96&tbnw=73&prev=/images%3Fq%3Dopen%2Bsource%2Bcms&usg=__rZxotR0pk-obELAwkS2TB7UbgCw="><img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///////yH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" alt="" align=middle border=1 height=48 id=vismothumb48 class=vismothumb48 style=";padding:1px 1px" width=36></a>';//放到html文件里就:$string =file_get_contents("./1.html");
$string = preg_replace('/(<a[^>]*?href=")(.*?)("[^>]*?><img[^>]*?src=")(.*?)("[^>]*?><\/a>)/is',"\$1\$2\$3\$2\$5",$string);echo $string;