秀丸のマクロでHTMLの編集をする方法とは?

このQ&Aのポイント
  • 秀丸のマクロを使ってHTMLの編集をする方法について教えてください。
  • マクロ上の特定の文字列を正規表現を使用して置換する方法を教えてください。
  • 変換作業が完了した後にメッセージを表示する方法を教えてください。
回答を見る
  • ベストアンサー

秀丸のマクロについて

すみません。。検索してもなかなか見つからないので詳しいかたどうぞ教えてくださいませんでしょうか(/_;)?? 秀丸のマクロで下記のようなHTMLの編集をしたいのですが 「◎◎◎◎◎」部分はそれぞれ異なる文字列が入ります。 マクロ上「◎◎◎◎◎」には正規表現でなんと入れればいいのでしょうか?? ------------------------------------------------------------ question "変換しますかっ?"; if(result ==yes ){ replaceallfast "<span class=\"★\"><strong>◎◎◎◎◎</strong></span><br>" , "<p class=\"★\"><strong>◎◎◎◎◎</strong></p>"; message "変換しました。"; } ------------------------------------------------------------ どうぞよろしくお願いいたします(T_T)

質問者が選んだベストアンサー

  • ベストアンサー
  • Fushino
  • ベストアンサー率59% (329/550)
回答No.2

取りあえず転記ミスでなければ正規表現を利用するというパラメータ(regular)がありませんがいかがでしょうか。 任意の文字列に該当する正規表現は「.*」ですが、その文字列を置換後にコピーするのであればタグ付き正規表現(詳細は秀丸のヘルプを参照下さい)を利用する必要があります。(「.*」→「.*」だと「.*」という文字列に置換されてしまいます。) replaceallfast "<span class=\"★\"><strong>(.*)</strong></span><br>" , "<p class=\"★\"><strong>\1</strong></p>" , regular ;

YOU_chang
質問者

お礼

ご回答ありがとうございます!! 教えていただいた通りにやりましたら出来ました!(^^)! (「\1」→「\\1」に変更いたしました) 大変感謝でございます どうもありがとうございました!!!

その他の回答 (1)

noname#79646
noname#79646
回答No.1

条件が少なすぎます。 「それぞれ異なる文字列」という条件に合う正規表現は、「.*」です。 というか、示された例なら、◎◎◎◎◎がどうであれ、正規表現など使わずに、 <span class を <p class に、 </span><br> を </p> に置換すればいいだけじゃないですか? 何はともあれ、正規表現を使いたいというのであれば、◎◎◎◎◎の条件を明確にしてくれない限り、答えようがありません。

YOU_chang
質問者

お礼

ご回答ありがとうございます! 言葉足らずですみません(>_<) >「それぞれ異なる文字列」という条件に合う正規表現は、「.*」です。 そうなのです。「.*」をマクロの「◎◎◎◎◎」に入れても なにも反応してくれないので あせってご質問させていただきました。 示した例は簡単にしてしまったのですが もう少しぐちゃぐちゃなタグになっております。 どうぞよろしくお願いいたします。

関連するQ&A

  • 秀丸マクロをハイライトするマクロ

    htmlタグで秀丸マクロをハイライトするマクロを作っています。 強調表示のファイルを見ながら作っています。 「if」 「else if」 「else」を上手に区別する正規表現方法を教えてください。 また、このようなマクロを作るときに役立ちそうな方法がありましたら教えてください。 このようなソースを if (条件式1) message "コメント1"; else if (条件式2) message "コメント2"; else if (条件式3) message "コメント3"; else message "コメント4"; このようにhtmlタグを付けていきます。 <span class="if">if</span> (条件式1) <span class="message">message</span> "コメント1"; <span class="else_if">else if</span> (条件式2) <span class="message">message</span> "コメント2"; <span class="else_if">else if</span> (条件式3) <span class="message">message</span> "コメント3"; <span class="else">else</span> <span class="message">message</span> "コメント4"; マクロはこんな感じです。 setcompatiblemode 0x0F; begingroupundo; replaceall "message" , "<span class=\"message\">message</span>" , regular, word; replaceall "if" , "<span class=\"if\">if</span>" , regular, word; replaceall "else_if" , "<span class=\"else_if\">else_if</span>" , regular, word; replaceall "else" , "<span class=\"else\">else</span>" , regular, word; if( ! result ) beep; endgroupundo 1; endmacroall; 単語の検索 http://homepage3.nifty.com/kons/hidemaru/helpsite/hidemaru/html/190_CmdSearch_WordSearch.html 検索(Ver8.04対応版) http://homepage3.nifty.com/kons/hidemaru/helpsite/hidemaru/html/070_Env_Search.html

  • 秀丸のマクロ

    マクロ全くの初心者です。 以下の秀丸のマクロを次のように変更したいです。 1連番の数字を記号$kの前ではなく後ろに。 2()は不要 3$sに入力した記号が出てきたら連番数字をはじめの1から連番にし、 これを繰り返す。 宜しくお願いいたします。 //----------------------------------------------// //Macro1 $k = input("記号は?"); $s = input("数字を1に戻す記号は?"); gofiletop; #i = 1; while( 1 ) { searchdown $k; if(!result) break; insert "("+str(#i)+")"; #i = #i + 1; } endmacro; //----------------------------------------------//

  • 秀丸エディタのマクロのことで

    秀丸エディタ(Ver3.19)の置換で正規表現を用いても以下のことはできないと思います。 501~520までの数字を623~642に一括変換する。 そこで上記のようなことが可能なマクロを教えてもらいたいのですが。ようは置換元の範囲と置換後の範囲を指定することで、任意の数字に対して連番置換ができるマクロです。 ワードのVBAでも結構です(エクセルではダメですが)。 宜しくお願いします。

  • <p>の使用について教えて下さい。

    現在小説を執筆&HTMLを勉強中です。 今まで台詞と台詞の間(1行空ける場合) <span class="black">「今日は暖かいね」</span><br> <br> <span class="gray">「そうだね」</span><br>  本当に春みたいな陽気だった。<br> という使い方をしていましたがCSSにて行間を調節出来るよう <p><span class="black">「今日は暖かいね」</span></p> <p><span class="gray">「そうだね」</span><br>  本当に春みたいな陽気だった。</p> ↑実際問題、段落ではないのですけれど、このような<p>の使用法は誤りでしょうか?

    • ベストアンサー
    • HTML
  • 秀丸のマクロ実行時に「バッファがオーバーしました。」というエラーが出ま

    秀丸のマクロ実行時に「バッファがオーバーしました。」というエラーが出ました。 秀丸で、マクロ → キー操作の読込からマクロを読込もうとした時に、下記のエラーが発生しました。 アルファベットの全角→半角変換.mac(47): バッファがオーバーしました。 マクロの内容は setcompatiblemode 0x0F; begingroupundo; replaceallfast "0" , "0"; から始まり replaceallfast "?" , "?"; if( ! result ) beep; endgroupundo 1; で終わるもので、全角のアルファベット、数字、一部の記号を半角に置換するだけのものです。 対象の文字は 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+-*/():=&!? の全73文字で、47行目では I を変換しようとしています。 以前は問題なく動いていたと思うのですが、なぜか今はエラーが出ます。 現秀丸のVerは7.11 で、過去に動いていた時のVerは覚えておりません。 OSはWinXPです。 解決方法など教えていただければ幸いです。

  • 秀丸マクロで、現在のカーソル位置にある任意の箇所に対して処理を行いたい

    秀丸マクロで、現在のカーソル位置にある任意の箇所に対して処理を行いたいです。 たとえば... <h1>タイトル</h1> <p class="test">テキスト</p> このようなhtmlソースがあるとします。 【動作1】タグを選択したい <p class="test">のいずれかの位置にカーソルがある場合に、 マクロを実行すると、<p class="test">すべてを自動で選択状態にしたいです。 ※タグはpに限りません。 【動作2】属性を削除したい class="test"のいずれかの位置にカーソルがある場合、 マクロを実行すると、class="test"を自動で削除したいです。 ※属性はclassに限りません。 上記2つの動作を、それぞれ行うにあたり、 ツールや方法、ヒントなど教えていただければ幸いです。 意味不明でしたら加筆修正しますのでよろしくお願いします。

  • 文章のマークアップについて

    <p><span class="red">「今日は寒いね」</span><br>  彼はそう言って笑った。</p> <p><span class="blue">「あ…、雪だ」</span></p> ↑このような使い方は誤り…。 かと言って <div class="red">「今日は寒いね」</div>  彼はそう言って笑った。<br>  ←この部分だけCSSで指定したフォントスタイルが適用されない。 <div class="blue">あ…、雪だ」</div> <div class="red">「今日は寒いね」</div> <div> 彼はそう言って笑った。<div> <br> <div class="blue">「そうだね」<div> ↑これでは少しこの会話が続いた時に「div病(?)」テキストに書いてありました。 全て同じフォントスタイルを使い且つ1行空けたい場合はどうマークアップすれば良いのでしょうか。 HTML初心者のweb作家です。 タグと具体例を示して頂けるとありがたいです。

    • ベストアンサー
    • HTML
  • 色のついた外枠を部分的に付けたいのですが、どうすればいいでしょうか?

    色のついた外枠を部分的に付けたいのですが、どうすればいいでしょうか? <tr> <td width="864" class="style49"> <p align="center"><a href="link/ryoukin.html" class="style49"><br /> <img src="image/web_004.gif" alt="格安引越が出来る理由" width="200" height="50" border="0"/></a><strong><a href="link/ryoukin.html" class="style49"><span class="style51"><img src="image/web_003.gif" alt="重要事項説明" width="200" height="50" border="0"/></span></a><a href="link/ryoukin.html" class="style49"><img src="image/web_005.gif" alt="料金計算書・オプション価格" width="200" height="50" border="0"/></a><br /> </strong></p> <p align="center"><strong><br /> <br /> <img src="image/web_010.gif" alt="引越プラン" width="130" height="35" /><br /> <br /> <a href="link/link1.html" class="style49"><span class="style58"><img src="image/web_007.gif" alt="フローチャート式お見積作成" width="200" height="95" border="0"/></span></a> <span class="style58"><a href="link/link0.html" class="style49"><img src="image/web_008.gif" alt="お荷物記載による個別お見積作成" border="0"/></a></span> <a href="http://*****.**.****.**/postmail/postmail2.html" class="style49" ><img src="image/web_009_03.gif" alt="各種お問合せ" border="0"/></a><br /> </strong></p> <p></p> ちなみに引越プランからフローチャート式お見積作成、お荷物記載による個別お見積作成、各種お問合せまで全部を一枠で部分的に外枠で囲みたいのですが、どのようなやり方があるでしょうか? 部分的に囲めなくてすごく困っています。どうかよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 変数の中にjavascriptを埋め込む方法がわかりません

    innerhtmlのテンプレートを使ってjavascriptを書こうとしてます。 変数の中身はhtmlタグです。#****#を用意した文字列に置き換えるようにしています。 しかし以下のように記述してもエラーとなってしまいます。(エラー';'がありません) \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ var template = '<p><span class="Date">#date#:</span><strong><a href="#" onclick="return GB_show('新着情報', '#link#', '500', '700')">#title#</a></strong><br />#description#</p>' \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ たぶんonclickの部分がおかしいと思うのですが、どうしておかしいのかわかりません。 "と'の使い方でしょうか? どうか教えていただけたら幸いです。

  • クリックした際にCSSが変更できない jQuery

    jQueryについて詳しい方教えていただけませんでしょうか? クリックをした際、スライドさせるように作っているのですが、同時にspanのCSS変更(arrowFD→arrowFR)もやりたいのですがなぜかうごきません・・・ <jQuery> $(window).load(function(){ $('#faq .answer').not(':first').hide(); $('#faq .question').click(function() { if($(this).next('.answer').is(':visible')) { $(this).next('.answer').slideUp(300); $("span.arrowFD").html('<span class="arrowFR"></span>'); //★ホントは、CSSだけ変更したい } else { $(this).next('.answer').slideDown(300).siblings('.answer').slideUp(300); } }); });//]]> <CSS> .question { padding:5px; font-weight:500; font-family: メイリオ; font-size:14px; border:1px solid #ddd; background:#eee; cursor: pointer; } .answer { padding:25px; font-family:MS UI Gothic; font-weight:500; font-size:13px; border:1px solid #ddd; } /* 三角矢印を前(Front)に(右向き:Right)でつける */ .arrowFR { position:relative; top:0; left:0; padding-left:18px; } .arrowFR:before { content: ""; position: absolute; top: 3px; left: 2px; border-top: 7px solid transparent; border-bottom: 7px solid transparent; border-left: 12px solid #000000; } /* 三角矢印を前(Front)に(下向き:Down)でつける */ .arrowFD { position:relative; top:0; left:0; padding-left:18px; } .arrowFD:before { content: ""; position: absolute; top: 3px; left: 2px; border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 12px solid #000000; } <HTML> <div id="faq"> <div class="question" id="tenmetsu"> <span class="arrowFD"></span> <span style="font-weight:bold">|</span> 香川真司 </div> <div class="answer">Answer 01<br />Answer 01<br />Answer 01<br />Answer 01<br /></div> <div class="question"> <span class="arrowFR"></span> <span style="font-weight:bold">|</span>  長友佑都 </div> <div class="answer">Answer 02<br />Answer 02<br />Answer 02<br />Answer 02<br /></div> <div class="question"> <span class="arrowFR"></span> <span style="font-weight:bold">|</span> 本田圭佑 </div> <div class="answer">Answer 03<br />Answer 03<br />Answer 03<br />Answer 03<br /></div> </div>​

専門家に質問してみよう