0

私のサイトには、Facebook で共有ボタンを画像に追加するこの jQuery 関数があり、うまく機能しています。

問題は、サーバーに Google の Pagespeed Module をインストールして、処理を少し速くすることです。1 つのことを除いて、魅力のように動作します。

画像には、Facebook が好まないように思われるページ速度拡張機能が追加されました。

したがって、私が探しているのは、画像 src を取得し (これは既に配置されています)、追加されたページ速度拡張機能を取り除き、「元の」画像 src を送り返す関数です。

次のように画像 src を取得しています。

img = $(this).attr('src');

私が持っていないのは、この関数の後にページ速度拡張機能を削除する関数です。

Google のページ速度の画像は次のようになります。

http://my-site.com/wp-content/uploads/700x524ximagename700x524.jpg.pagespeed.ic.9rlwkDUtDK.webp

問題は、削除する必要がある 2 つの部分があることです。

画像名の前に表示される700x524x ...

...そしてファイル拡張子の後のすべて( .pagespeed.ic.9rlwkDUtDK.webp )

おそらく、この問題の解決策を私に提案できる教祖がいますか?

ありがとう!

// イェンス。

4

1 に答える 1

0

おそらく正規表現を使用して、保持したい (および保持したくない) 文字列の部分を照合し、後方参照を使用して元のファイル名を抽出できます。ここでのファイル名は、一致したグループ$1.

\d*x\d*x(.*)\.pagespeed.*

https://regex101.com/r/jR8fI3/1で例を参照してください。

JavaScript の場合:

var image = "700x524ximagename700x524.jpg.pagespeed.ic.9rlwkDUtDK.webp";
var original = image.replace(/\d*x\d*x(.*)\.pagespeed.*/, "$1");
alert(original);

http://jsfiddle.net/1afhzfxa/の例を参照してください。

于 2015-01-17T22:56:44.363 に答える