wordpress博客使用php開發的,如果我們要獲取文章中圖片我們只要簡單的使用正則表達式即可實現了,下面我來給大家介紹一下.
先來看php獲取文章中所有圖片正則表達式,代碼如下:
- $body="中國WEB第一站<img src=/notfound.jpg>";
- preg_match_all("/(src|SRC)=["|'| ]{0,}(http://(.*).(gif|jpg|jpeg|png))/isU",$body,$img_array);
- $img_array = array_unique($img_array[2]);
- echo "捕獲的圖片:";
- print_r($img_array);
輸出結果是不能你代碼的圖片地址呢.結果./notfound.jpg
好了,原理就出來了我們是利用preg_match_all獲取了,但在wordpress中會有一點出入,因為圖片地址規則不同,代碼如下:
- <?php
- //從文章中搜索圖片并獲取圖片
- $SoImages = ‘~<img [^>]* />~’;
- preg_match_all($SoImages,$post->post_content,$Images);
- $PictureAmount=count($Images[0]); //獲取圖片數量
- //處理所有的圖片
- for($i=0;$i<$PictureAmount;$i++){
- echo $Images[0][$i] //處理圖片,語句可以自定義,第一張圖片為$Images[0][0];
- }
- //通過使用switch控制語句處理第一張圖片,也可以使用if…else…elseif語句來實現,具體邏輯請自定義
- switch($PictureAmount>0){
- case 1:
- echo $Images[0][0]; //輸出第一張圖片
- break;
- default:
- $ImagesUrl=bloginfo(‘stylesheet_directory’).”/images/1.jpg”; //當文章無圖片時默認輸出的圖片
- }
- /*獲得文章中的圖片鏈接路徑的代碼
- *首先使用上面第一段的語句從文章搜索并獲取圖片
- *然后通過運行正則表達式來分析圖片代碼,然后得到匹配的字符
- *以下只列出其中的一種正則表達式代碼,有興趣的童鞋可以自己編寫
- */
- //獲取一張圖片,例如獲取第一張圖片$Images[0][0],其代碼樣例為:<img alt=”Google” title=”Google” id=”logo” src=”/intl/zh-CN/images/logo_cn.gif” width=”276″ height=”110″ border=”0″ />
- $ImgUrl = $Images[0][0];
- $SoImgAddress=”/<img.*?src=”(.*?)”[^>]*>/i”; //正則表達式語句
- preg_match($SoImgAddress,$ImgUrl,$imagesurl); //分析
- echo $imagesurl[1]; //得到并處理路徑:/intl/zh-CN/images/logo_cn.gif
- ?>
新聞熱點
疑難解答
圖片精選