我必須將數千個鏈接替換爲Photobucket上託管的圖像,並將鏈接更改爲不同的託管站點。鏈接包含在Wordpress網站的帖子中。也就是說,我必須要找到的語法如下:正則表達式來查找DIV標籤並檢索圖像名稱
<div style="clear: both; text-align: center;"><a href="http://photobucket.com/albums/mypath/IMAGENAME.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="photobucket.com/albums/mypath/IMAGENAME.jpg" /></a></div>
其中mypath
可以改變,並與
<img class="alignnone size-full aligncenter" src="http://mynewpath/IMAGENAME.jpg" alt="" />
更換整個DIV
標籤,我發現Search Regex plugin爲WordPress,這使得大規模搜索&使用替換正則表達式的。不幸的是,我無法創建足夠的RegEx來識別我想要的DIV
標籤。我想出了這個:
<div\b[^>]*>.*?<img.*?photobucket.*?\/(.*?\.jpg).*?<\/div>
它的工作大部分時間。但是,它有時會捕獲連續的DIV
標記對。我如何確保捕獲一個DIV
標籤並在其中捕獲圖像名稱?
PS:我知道不推薦使用RegEx解析HTML,但Search Regex插件是我發現解決我的問題的最快方法。
編輯:編輯爲清楚起見
爲什麼不做SQL搜索和替換?你可以改變數據本身,而不是在前端用一些腳本覆蓋它... –
@TomislavSvecak呃...這可能是一個選項,但WordPress網站託管,我不知道如何訪問數據庫直。我只是想幫助一個朋友,我認爲正則表達式是最快的方法。 – Wolfy