程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php preg_match_all結合str_replace替換內容中所有img

php preg_match_all結合str_replace替換內容中所有img

編輯:關於PHP編程

采集回來的圖片img標簽中,有好多javascript腳本和無用的信息,必需過替換自己想要的,比如alt。先看看要過濾的內容,我隨便復制出來:
復制代碼 代碼如下:
sdfsdfsdf<img alt=”3568df.com靓圖” src=”http://www.aaa.com/upimg /080330/120D1232295023X0.gif” src=”http://www.eee.com/upimg/080330 /120D1232295023X0.gif” width=1 onclick=”javascript:; ” onload=”javascript:if(this.width>500){this.resized=true; this.style.width=500;}”>sfsdfsdfasdfsadf<img alt=”3568df.com靓圖 ” src=”http://www.3568.com/upimg/080330 /120D1232295023X0.gif” src=”http://www.ddd.com/upimg/080330 /120D1232295023X0.gif” width=1 onclick=”javascript:; ” onload=”javascript:if(this.width>500){this.resized=true; this.style.width=500;}”>sdfsadf<img alt=”3568df.com靓圖 ” src=”http://www.xxx.com/upimg/080330/120D1232295023X0.gif” src=”http://www.sss.com/upimg/080330/120D1232295023X0.gif” width=1 onclick=”javascript:;” onload=”javascript:if(this.width>500){this.resized=true;this.style.width=500;}”>sdfsdf

要把上面替換成形如:
復制代碼 代碼如下:
<img alt=”我的信息” src=”http://www.xxx.com/upimg /080330/120D1232295023X0.gif” src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif” /> 其中src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif” src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif”這個地址要保留,因為圖片用的都是源地址

方法大致是:先讀取內容裡的所以IMG標簽,然後把每個IMG標簽的SRC抽取出來,並且組合成自己的內容,最後進行替換。
preg_match_all就是我想要的函數,它能夠把正則表達式匹配到的內容建立一個三維數組,你可以對它們進行遍歷查找替換,不太了解的請查查手冊,這裡不作具體介紹。函數代碼:
復制代碼 代碼如下:
function replace($str)
{
preg_match_all(”/<img(.*)(src=\”[^\"]+\”)[^>]+>/isU”, $str, $arr);
for($i=0,$j=count($arr[0]);$i<$j;$i++){
$str = str_replace($arr[0][$i],”<img alt=\”我的信息” “.$arr[2][$i].” />”,$str);
}
return $str;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved