1

我在 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 replace 是答案,但这很棘手,因为我需要

  1. 仅替换标签中的图像文件名,而不是标签中完整尺寸图像的链接。

  2. 无论图像是 png 还是 jpg 文件,都附加“-thumbnail.jpg”(所有缩略图都是 jpg,但一些全尺寸图像是 png.jpg)。

谢谢

4

1 回答 1

3

一些正则表达式会在这里有所帮助

preg_replace('/src\=\"(.*?)\.(jpg|png)\"/', 'src="$1-thumbnail.$2"');
于 2013-08-19T17:40:55.060 回答