我在CMS数据库中有一些内容,其中所有图像都有一个点击缩放插件。
图像的HTML标记看起来像这样
<div class="large-image-outer">
<a class="fancybox-button zoomer" data-rel="fancybox-button" title="" href="http://images.website.com/prams/folder/e3-v2/review/e3-v2-introduction-1.jpg">
<div class="overlay-zoom"><img class="large-image img-polaroid" src="http://images.website.com/prams/folder/e3-v2/review/e3-v2-introduction-1.jpg" alt="" title="" />
<div class="zoom-icon"></div>
</div>
</a>
</div>
我正在尝试浏览数据库并用缩略图替换页面上的所有图像。每个缩略图的名称与图像相同,但最后使用-thumbnail.jpg。所以在上面的例子中
<img class="large-image img-polaroid" src="http://images.website.com/prams/folder/e3-v2/review/e3-v2-introduction-1.jpg" alt="" title="" />
应替换为
<img class="large-image img-polaroid" src="http://images.website.com/prams/folder/e3-v2/review/e3-v2-introduction-1-thumbnail.jpg" alt="" title="" />
我如何用PHP做到这一点 - 我假设preg替换是答案,但它很棘手,因为我需要
仅替换标记中的图像文件名,而不是标记中的完整尺寸图像的链接。
追加“-thumbnail.jpg”,无论图像是png还是jpg文件(所有缩略图都是jpg,但有些全尺寸图像是png。
由于
答案 0 :(得分:3)
一些正则表达式将在这里提供帮助
preg_replace('/src\=\"(.*?)\.(jpg|png)\"/', 'src="$1-thumbnail.$2"');