2014-06-06 28 views
2

我將Blogger中的圖片導入Wordpress時遇到了問題,並且以某種方式將所有中等尺寸的尺寸用於我的內聯帖子內容圖片,這些圖片太小了。搜索並替換圖片文件名的帖子內容中的REGEX

我試圖在我的Wordpress媒體設置中調整我的中等尺寸尺寸,然後運行Regenerate縮略圖插件,但由於某些原因,我的博客導入的帖子中的圖像仍然太小(使用舊的中等圖像尺寸尺寸)。

我一直在想辦法解決這個問題,我認爲最簡單的方法是在搜索結果中替換後期內容,只要有一個圖像標籤在結尾處有尺寸標註,如:

http://example.com/wp-content/uploads/2014/05/Comfy-Cozy-Couture-Design-Decoded-163x300.png 

並更換有:

http://example.com/wp-content/uploads/2014/05/Comfy-Cozy-Couture-Design-Decoded.png 

通過某種的MySQL的方式搜索和使用正則表達式替換。無論圖像文件名是什麼,我都希望它能夠正常工作,而且不管最後的尺寸如何。

所以:

http://example.com/wp-content/uploads/2014/05/an-image-filename-123x456.png 

將成爲:

http://example.com/wp-content/uploads/2014/05/an-image-filename.png 

而且也不管工作擴展(PNG/GIF/JPG)的。

在理想情況下,我不會完全刪除尺寸,但只需將尺寸擴大到我的大型媒體文件大小(最大寬度:600,最大高度:∞),保持與舊的縱橫比相同尺寸。但是我覺得這種查詢要困難得多。我相信我的用戶首先上傳了所有網頁準備好的大小圖片。

有沒有人之前做過或知道我的問題的解決?或者知道另一個更簡單的方法,而不需要重新導入來自博主的2000多篇文章?

在此先感謝!

編輯:

或者如果有人知道爲什麼雷根。縮略圖不起作用。我的圖片連接到職位,但這裏是我的形象標籤的樣子說是越來越吐出:

<img alt="Comfy Cozy Couture" class="aligncenter size-full wp-image-3654" src="http://example.com/wp-content/uploads/2014/05/Comfy-Cozy-Couture-Design-Decoded-163x300.png" height="1100" width="600" /> 

很奇怪,因爲它在寬度和高度ATTRS正確的尺寸,但圖像源有老人文件名中的硬編碼維度。

此外,我試圖做到這一切都與JS,但我想要一個更永久的解決方案。這就是我與JS做:

$('.entry-content img').prop('src', function (i, v) { 
    return v.replace(/-\d+x\d+\.(jpg|png|gif)$/, '.$1'); 
}); 
+0

搜索:'(https?:\/\/\ S *?) - \ d + x \ d +([。](?: png | gif | jpe ?g))'並替換爲:'\ 1 \ 2'。對不起,我沒有動機做一個完整的答案,希望這會有所幫助:) – Sam

+0

@Sam謝謝,我從來沒有做過REGEX替換爲MySQL(甚至知道是否有可能)。仍在自己研究。 – Corey

+0

在MySQL中看起來不支持,但有[此解決方法](http://stackoverflow.com/questions/986826/how-to-do-a-regular-expression-replace-in-mysql)。可能值得把一個快速的PHP腳本放在一起,通過你的2k +帖子循環,解析鏈接和發佈更新。那麼你也可以使用['preg_replace_callback()'](http://www.php.net/manual/en/function.preg-replace-callback.php)來處理你的「最大維度」需要。 – Sam

回答

2

我能夠執行類似的搜索和使用WordPress的搜索Regrex插件(https://wordpress.org/plugins/search-regex/)和下面的搜索模式替代:

.-\d+x\d*. 

如果你嘗試這個,把.- \ d + x \ d *。在您的搜索模式中,並確保您選中複選框中的「正則表達式」。我沒有任何東西取代該模式(所以基本上刪除了字符串的「 - ### x ###」部分)。

該插件將允許您在提交前預覽結果。搜索會告訴你你的模式在做什麼。替換將預覽替換。替換並保存完全聽起來像:-)

+0

現在就看看這個,謝謝! – Corey

+0

我認爲REGEX不夠準確,它在其他文件名中匹配了幾次,例如:'a-4ximage-filename-163x300.png'。我試圖用這個' - \ d + x \ d + \。'替換爲'。',但我一直收到錯誤「無效的正則表達式:無結束分隔符」 - 「找到」 – Corey

+1

這個效果更好:' - \ d + X \ d + \ .-'。但不包括第一個破折號。 – Corey