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 です。

ありがとう

4

1 に答える 1

3

ここでいくつかの正規表現が役立ちます

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