這篇文章主要介紹了PHP基於正則批量替換Img中src內容實現擷取縮圖的功能,涉及php針對頁面img元素的正則匹配與替換操作相關實現技巧,需要的朋友可以參考下
本文執行個體講述了PHP基於正則批量替換Img中src內容實現擷取縮圖的功能。分享給大家供大家參考,具體如下:
這裡PHP用正則批量替換Img中src內容,實現擷取圖片路徑縮圖的功能
網上很多Regex只能擷取或者替換一個img的src內容,或者只能替換固定的字串,要動態替換多個圖片內容的試了幾個小時才解決。
/*** 圖片地址替換成壓縮URL* @param string $content 內容* @param string $suffix 尾碼*/function get_img_thumb_url($content="",$suffix="!c550x260.jpg"){$pregRule = "/<[img|IMG].*?src=[\'|\"](.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\/]?>/";$content = preg_replace($pregRule, '<img src="${1}'.$suffix.'" style="max-width:100%">', $content);return $content;}
執行個體使用代碼:
$content = '<a href="#" rel="external nofollow" rel="external nofollow" ><img class="center" src="https://xxx.com/styles/images/default.jpg"></a>'.'<p><img class="center" src="https://img.xxx.com/images/219_Ig5eZI.jpg" style="max-width: 100%;"></p>';$newct = get_img_thumb_url($content);print_r($newct);
輸出結果:
代碼如下:
<a href="#" rel="external nofollow" rel="external nofollow" ><img src="https://xxx.com/styles/images/default.jpg!c550x260.jpg" style="max-width:100%"></a><p><img src="https://img.xxx.com/images/219_Ig5eZI.jpg!c550x260.jpg" style="max-width:100%"></p>