2015-01-17 2 views
0

У меня есть функция jQuery на моем сайте, которая добавляет share на Facebook кнопку к изображениям, которые отлично поработали.Расширение модуля strip pagespeed из изображения с помощью jQuery

Проблема в том, что теперь я установил модуль Google Pagespeed на моем сервере, чтобы сделать вещи немного быстрее. Работает как шарм, за исключением одного:

Образы теперь получают расширение страниц, которое, похоже, не нравится Facebook.

Итак, я ищу функцию, чтобы получить изображение src (это уже на месте), разделите добавленные расширения страниц и отправьте исходное изображение src.

Я извлечение СРК изображения, как это:

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

То, что я не является функцией раздеться расширение PageSpeed ​​после этой функции.

Google PageSpeed ​​изображения выглядят как это:

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

Проблема заключается в том, есть нужно быть зачищены из двух частей:

700x524x, который появляется до того название изображения ...

... и все после расширения файла (.pagespeed.ic.9rlwkDUtDK.webp)

Есть некоторые гуру там, что может предложить мне решение этой проблемы возможно?

Спасибо!

// Jens.

ответ

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/

+0

Это удивительный @doublesharp! Если мне также нужно сохранить путь к файлу, это возможно: http: // mysite/wp-content ... и т. Д. – jenseo

+0

Наверняка, на самом деле, он должен просто работать. Если нет, вам может понадобиться использовать другую подходящую группу для пути, а затем использовать '$ 1 $ 2' в' replace() '. – doublesharp

+0

Он просто работает, посмотрите http://jsfiddle.net/1afhzfxa/1/ – doublesharp