php如何使用正则替换img src

藏色散人
Lepaskan: 2023-03-04 10:22:02
asal
2122 orang telah melayarinya

php正则替换img src的实现方法:首先定义一个“get_img_thumb_url”方法;然后通过“preg_replace($pregRule, '

php如何使用正则替换img src

推荐:《PHP视频教程

PHP用正则批量替换Img中src内容,用正则表达式获取图片路径实现缩略图功能

网上很多正则表达式只能获取或者替换一个img的src内容,或者只能替换固定的字符串,要动态替换多个图片内容的试了几个小时才解决。

/**
* 图片地址替换成压缩URL
* @param string $content 内容
* @param string $suffix 后缀
*/
function get_img_thumb_url($content="",$suffix="!c550x260.jpg")
{
// by http://www.manongjc.com/article/1319.html
$pregRule = "/<[img|IMG].*?src=[\&#39;|\"](.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\&#39;|\"].*?[\/]?>/";
$content = preg_replace($pregRule, &#39;<img src="${1}&#39;.$suffix.&#39;" style="max-width:100%">&#39;, $content);
return $content;
}
Salin selepas log masuk

实例使用代码:

//by http://www.manongjc.com
$content = &#39;<a href="#"><img class="center" src="https://xxx.com/styles/images/default.jpg"></a>&#39;
.&#39;<p><img class="center" src="https://img.xxx.com/images/219_Ig5eZI.jpg" style="max-width: 100%;"></p>&#39;;
$newct = get_img_thumb_url($content);
print_r($newct);
Salin selepas log masuk

输出结果:

<a href="#"><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>
Salin selepas log masuk

Atas ialah kandungan terperinci php如何使用正则替换img src. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!