- ベストアンサー
HTML一括書き換えの方法とは?
- HTMLの一括書き換え方法とは、すべてのHTMLファイル内の特定の要素を一括で書き換える方法です。
- 具体的には、HTML内の<img>要素のsrc属性を一括でファイル名に置換することができます。
- これにより、効率的にHTMLファイルの画像パスを修正することができます。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
No4です。 No7において、補足です。 D&Dしたファイルは、ダミーがファイル名(拡張子除く)で置換されて上書きされます。 複数のファイルをまとめてD&D出来ます。 「置換.wsf」の以下の箇所を変更して頂ければ「ダミー」意外にも対応できます。 strRepl="ダミー"; /* 置換対象文字列 */ 各htmlファイルの中で使用されている「ダミー」が全て置換されます。 「ダミー.jpg」以外にも「ダミー」を使用している場合、以下の2箇所を変更してください。 (1) strRepl="ダミー"; /* 置換対象文字列 */ ↓ strRepl="ダミー.jpg"; /* 置換対象文字列 */ (2) strWith = objFs.GetBaseName(objArg(i)); ↓ strWith = objFs.GetBaseName(objArg(i))+".jpg";
その他の回答 (7)
- eden3616
- ベストアンサー率65% (267/405)
適当なフォルダに新規でテキストファイルを作成してください。 テキストファイルをメモ帳で開き、以下のコードを貼り付けて上書き保存して閉じてください。 テキストファイルの名前を「置換.wsf」に変更してください。 対象のhtmlファイルを「置換.wsf」にドラッグ&ドロップしてください。 ■コード <?xml version="1.0" encoding="Shift_JIS" standalone="yes" ?> <package> <job id="WordReplace"> <?job error="True" debug="True" ?> <object id="objFs" progid="Scripting.FileSystemObject" /> <script language="JavaScript"> <![CDATA[ strRepl="ダミー"; /* 置換対象文字列 */ var objArg=WScript.Arguments; for(i=0;i<objArg.length;i++){ strTmp= objFs.BuildPath (objFs.GetParentFolderName (WScript.ScriptFullName), objFs.GetTempName ()); var objTs =objFs.OpenTextFile(objArg(i),1,false); var objTs2=objFs.OpenTextFile(strTmp,2,true); strWith = objFs.GetBaseName(objArg(i)); do{ strLne=objTs.ReadLine(); strLne=strLne.replace(strRepl,strWith); objTs2.WriteLine(strLne); }while(!objTs.AtEndOfStream); objTs.Close(); objTs2.Close(); objFs.DeleteFile(objArg(i)); objFs.MoveFile(strTmp,objArg(i)); } ]]> </script> </job> </package>
- masamasa74
- ベストアンサー率28% (74/257)
No.1です。 testhtml01.html testhtml02.html test.html というそれぞれのhtmlファイルがあり、そのそれぞれのファイルの中の記述に <img src="ダミー.jpg"> という記述がある。 そしてその"ダミー.jpg"の部分を、それぞれのファイル名に変更したい。 と言う事ですか?
補足
お忙しいところありがとうございます その通りです かなり時間をかけて調べているのですが今のところ糸口がつかめないでおります どうぞよろしくお願いいたします
- ORUKA1951
- ベストアンサー率45% (5062/11036)
ファイルを開かずに置換できる機能を持つテキストエディタで・・・ EmEditor( https://jp.emeditor.com/ ) でしたら [検索]→[ファイルから置換] POSIXの一般的な正規表現をそのまま使用して 置換する文字 test(\w*)(\d*)\.html(\s)<img src="(ダミー).jpg"> 置換後の文字 test\1\2.html\3<img src="test\1\2.jpg"> ファイルが300個開かれたままになるはずですから、「ファイルを開いたままにする」のチェックは外す。 EmEditorは一ヶ月は使用できます。
お礼
ありがとうございます すいませんやはり私の書き方が悪かったのがダメでした ファイル名 testhtml01.html ファイルの中身 <html> <body> <img src="ダミー.jpg"> </body> </html> を ファイル名 testhtml01.html ファイルの中身 <html> <body> <img src="testhtml01.jpg"> </body> </html> としたいのですが難しいです
- eden3616
- ベストアンサー率65% (267/405)
http://sakura-editor.sourceforge.net/download.html HTMLを正規表現での置換が行えるテキストエディタ(たとえば上記URLのサクラエディタ)に張り付けて 置換前 (\w+)\.html <img src="ダミー\.jpg"> 置換後 $1\.html <img src="$1\.jpg"> で置換すればよいのでは?
お礼
ありがとうございます すいません私の書き方が誤解を招いているみたいです ↓ファイル名 ↓文章 testhtml01.html <img src="ダミー.jpg"> ということでした実際のtesthtml01.htmlの中身は <html> <body> <img src="ダミー.jpg"> </body> </html> とかだと思っていただければと思います
- masamasa74
- ベストアンサー率28% (74/257)
No.2の補足&説明です。 最初の関数 LEFT(A1,FIND("=",A1)+1) は『ダミー』の前の『"』までを抽出しています。 次の LEFT(A1,FIND(".",A1)-1) で、構文の左から数えて最初の『.』までを抽出しています。 最後の RIGHT(A1,6) は右から6文字を抽出しています。 そうやって抽出した 『testhtml01.html <img src="』と『testhtml01』と『.jpg">』をそれぞれ『&』でつなげています。 知ってたらゴメンなさい。
お礼
ありがとうございます 自動でHTMLを読み込んで保存してくれれば良いのですが やり方が分からず・・・申し訳ありません
- masamasa74
- ベストアンサー率28% (74/257)
使用&所持ソフトがわからないので、たぶん持っていると思われる定番ソフトでの変更の仕方です。 htmlの構文をコピーし、excelのA列にテキスト貼り付けします。 B1に =LEFT(A1,FIND("=",A1)+1)&LEFT(A1,FIND(".",A1)-1)&RIGHT(A1,6) と入れればいけると思います。 後はこの関数をB2から下にコピーすれば完成です。
- adobe_san
- ベストアンサー率21% (2103/9759)
win http://textss.sakura.ne.jp/ mac http://www.artman21.com/jp/jedit_x/ 使い方はマニュアル見てちょ!
お礼
ありがとうございます マニュアルを見て使ってみたのですがどうしても ファイル名を取ってくる方法がわからずうまくいきませんでした・・・
お礼
ありがとうございます完璧でした こんなスクリプトもあったんですね・・・大変勉強になりました