程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 正則表達式提取圖片url程序

php 正則表達式提取圖片url程序

編輯:關於PHP編程

先用正則表達式獲取IMG標簽,然後把每個IMG標簽的SRC抽取出來,並且組合成自己的內容,最後進行替換

我想對 html 的圖片進行提取.

 代碼如下 復制代碼

<img ico src="/noavatar_small.gif" />

<img src="/noavatar_small.gif" />

如上地址. 我想全部提取出來 但是包含'ico' 的地址 忽略. 求正則 , 就是有些圖片 提取.有些不提取.

例子:

 代碼如下 復制代碼 <s*imgs+[^>]*?srcs*=s*('|")(.*?)\1[^>]*?/?s*>

經改進後..

正確解答如下

 代碼如下 復制代碼

/<img(?:(?!(ico)).)+/>/

實例

 代碼如下 復制代碼

//要替換的內容   
    $content = '<img alt="" src="js/fckeditor/UserFiles/image/F201005201210502415831196.jpg" width="600" height="366"><br><br><br><br><img alt="" src="js/fckeditor/UserFiles/image/33_avatar_middle.jpg" width="120" height="120">';

    //提取圖片路徑的src的正則表達式
    preg_match_all("/<img(.*)src="([^"]+)"[^>]+>/isU",$content,$matches);

            $img = "";
            if(!empty($matches)) {
            //注意,上面的正則表達式說明src的值是放在數組的第三個中
                $img = $matches[2];
            }else {
                $img = "";
            }
            if (!empty($img)) {
                $img_url = "http://".$_SERVER['SERVER_NAME'];

                $patterns= array();
                $replacements = array();

                foreach($img as $imgItem){

                $final_imgUrl = $img_url.$imgItem;
                $replacements[] = $final_imgUrl;

                $img_new = "/".preg_replace("///i","/",$imgItem)."/";
                $patterns[] = $img_new;

                }

                //讓數組按照key來排序
                ksort($patterns);
                ksort($replacements);

                //替換內容
                $vote_content = preg_replace($patterns, $replacements, $content);

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