2016-03-21 31 views
0

我有很多舊的HTML頁面,我已經導入到wordpress,除了圖像以外,它都很好。有成千上萬的文件名和空格的圖片和wordpress似乎並沒有允許他們上傳沒有編輯空間。批量替換html中文件名的空格

任何人都知道我可以批量編輯如下所示的HTML,以「_」替換文件名中的空格。

<img src="product 1_logo.jpeg" /> 
<img src="company 2_logo.jpeg" width="400"/> 
<img src="product 3_logo.jpeg" title="something" /> 
<img src="product 4_poster.jpeg" /> 
<img src="product 5 - something_logo.jpeg" /> 

線,如那些做出樣子:

<img src="product_1_logo.jpeg"/> 
<img src="company_2_logo.jpeg" width="400"/> 
<img src="product_3_logo.jpeg" title=" 
<img src="product_4_poster.jpeg"/> 
<img src="product_5_-_something_logo.jpeg"/> 

所以如果可能的話像一個正則表達式來<img src="再下"之間有_更換空的空間會工作。

任何幫助將大規模讚賞。我在我頭上這裏:(

回答

0

您可以使用str_replace函數來取代空格「_」

$image = "product 1_logo.jpeg"; 
$imgname = str_replace(' ', '_', $image); 
<!-- Or--> 
$imgname = preg_replace('/\s+/', '_', $image); 

檢查它是否會幫助..!

0

下面是一個使用Python的解決方案lxml, (警告:它會覆蓋原有文件)

from lxml.html import parse 
from sys import argv 
with open(argv[1]) as f: 
    page=parse(f) 
    for img in page.xpath("//img"): 
    src=img.get("src") 
    src=src.replace(" ","_") 
    img.set("src",src) 

page.write(argv[1]) 

這樣稱呼它

python script.py filename 

或者使用find將它應用到所有的樹

find -iname '*.html' -exec python script.py {} + 
+0

酷。當我有空時,我一定會嘗試。 – Miskkie

+0

我對python或php或其他任何東西都不太瞭解,但我會放棄它!我也想出了一個解決方法,以便任何人在未來可能通過谷歌碰到這個。我可以將文件原樣複製到「\ wp-content \ uploads」,然後使用libreoffice中的find和replace來替換「 Miskkie

+0

你的正則表達式在第一個標籤上的任何屬性失敗之前,在src – xvan