在網上看到很多的自動獲取文章中的圖片的文章。
但是這個還是比較實用的。
自動搜索文章圖片,然後,顯示:
<?phpif (have_posts()) : ?><?phpwhile (have_posts()) : the_post(); ?><?php$szPostContent=$post->post_content; $szSearchPattern='~<img [^\>]*\ />~'; // 搜索所有符合的圖片preg_match_all( $szSearchPattern, $szPostContent, $aPics ); $iNumberOfPics=count($aPics[0]); // 檢查一下至少有一張圖片if ( $iNumberOfPics>0 ) { // 這裏是你怎麼處理圖片的內容for ( $i=0; $i<$iNumberOfPics ; $i++ ) { echo$aPics[0][$i]; }; }; endwhile; endif; ?>
如果一篇文章有多個圖片的話,都統統會被顯示出來。有時我們只需要顯示一張,那這個代碼就不符合我們的要求了,所以,讓我們來小小地修改一下代碼:
<?php$soContent=$post->post_content; $soImages='~<img [^\>]*\ />~'; preg_match_all( $soImages, $soContent, $thePics ); $allPics=count($thePics[0]); switch ( $allPics>0 ) { case$allPics=1: echo$thePics[0][0]; // 顯示文章中的第一張圖片break; // 當圖片數量有1個時,不再執行default: echo"這裏應該顯示圖片,而不是sofish"; // 這裏加入沒圖片時顯示的默認圖片 }; ?>
像上面說明的,我們用switch語句,而不是if…else if…else這樣,來獲取我們的一張圖片。當檢查到一張的時候,代碼不再運行。這樣也省去了對服務器的請求。