2016-03-21 40 views
0

私はwordpressにインポートした古いhtmlページをたくさん持っています。ファイル名には空白を含む数千の画像があり、ワードプレスはスペースを編集せずにアップロードできるようには見えません。バッチを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="間の空のスペースを置き換えるために、その後_と、次"がうまくいくのであれば

<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"/> 

大変お手伝いをいたします。私はここに私の頭の上だよ:(

答えて

0
あなたは

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

チェックそれが役立つならばここで

0

を使用してのpythonソリューションです!..「_」で空白を置き換えるためにstr_replaceを使用することができます

lxml、 (WARNING:それは元のファイルを上書きします)

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 -iname '*.html' -exec python script.py {} + 
+0

クールにそれを適用するためにfindを使用しています。私は時間があるときにそれを後で試していきます。 – Miskkie

+0

私はあまりPythonやPHPや何かのためではありませんが、私はそれを行くつもりです!私はまた、誰かのための回避策は、おそらくこれをGoogleを介して将来的に突き当たると思った。 "\ wp-content \ uploads"のようにファイルをコピーして、libreofficeなどで " Miskkie

+0

srcの前の属性を持つ最初のタグで正規表現が失敗します – xvan

関連する問題