「★ソース高速HTML化」の編集履歴(バックアップ)一覧に戻る
<style type="text/css"><!-- .nstr { color : #000080 ; } .ncomment { color : #008000 ; } .function { color : #FF00FF ; } .member { color : #800080 ; } .nsign { color : #008080 ; } .nnumber { color : #000080 ; } .particle { color : #800000 ; } .special { color : #000080 ; } --></style>
#ソース高速HTML化 !母艦設計=「母艦の可視はオフ」 #実行部分 #実際に使う時は、ここを必要に応じて変えてください。 #----------------------------------------------------------------------- デバッグエディタハンドルに「copy」を、COPYDATA送信。 ソースはクリップボード もし、ソース=空なら、 "nako"のファイル選択。 もし、それ=空なら終わる。 違えば それを開く。 ソース=それ。 開始時間=システム時間。 ソースを0/*モード*/でHTML化。 完成文はそれ。 終了時間=システム時間。 所要時間=(終了時間-開始時間)/1000 'フッタの挿入。 'ここも必要に応じて変えてください。 クリップボード=完成文 ダイアログタイトル=「所要時間:{所要時間}秒」 「コード部分をクリップボードへコピーしました。 見てみますか?」と、二択。 もし、それなら それ=「<html><body>{改行}」&完成文&「{改行}</body></html>」 「temp.html」へ、保存。 「temp.html」を、起動。 終わり。 #----------------------------------------------------------------------- *HTML化(ソースをモードで) '定数 タブ文字は「 」 文字列色は"#000080" コメント色は"#008000" 関数色は"#FF00FF" 項目色は"#800080" 記号色は"{CHR(3)}008080" 数字色は"{CHR(3)}000080" 助詞色は"{CHR(3)}800000" 特殊色は"{CHR(3)}000080" # CR=CHR(13) 助詞一覧=「とは{~}は{~}について{~}ならば{~}なら{~}でなければ{~}から まで{~}までを{~}までの{~}で{~}を{~}の{~}が{~}に{~}へ{~}と{~}して だけ{~}くらい{~}なのか{~}として{~}より{~}ほど{~}など{~}って{~}では{~}て」 特殊文字=「それ{~}ここまで{~}続ける{~}終わる{~}戻る{~}もし{~}違えば{~}条件分岐 反復{~}繰り返す{~}ループ」#{~}間{~}回#文中に含まれる可能性のある語は除外 //「"”『``{{・/*##//'’※ 囲み文字=`「 " ” `&"『 ` `"&` { { /* ・ # # // ' ’ ※` 閉じ文字=`」"”`&"』``"&`}}`#*/ 囲み文字数=要素数(囲み文字) もし、モード=0なら 文字列囲み=『<span style="color:』&文字列色&『;">』 コメント囲み=『<span style="color:』&コメント色&『;">』 関数囲み=『<span style="font-weight : bold ; color :』&関数色&『;">』 項目囲み=『<span style="color :』&項目色&『;">』 記号囲み=『span』&(CHR(4))&『style="color:』&記号色&『;"』 数字囲み=『span』&(CHR(4))&『style="color:』&数字色&『;"』 助詞囲み=『span』&(CHR(4))&『style="color:』&助詞色&『;"』 特殊囲み=『span』&(CHR(4))&『style="color:』&特殊色&『;"』 違えば 文字列囲み=『<span class="nstr">』 コメント囲み=『<span class="ncomment">』 関数囲み=『<span class="function">』 項目囲み=『<span class="member">』 記号囲み=『span』&(CHR(4))&『class="nsign"』 数字囲み=『span』&(CHR(4))&『class="nnumber"』 助詞囲み=『span』&(CHR(4))&『class="particle"』 特殊囲み=『span』&(CHR(4))&『class="special"』 記号囲み=「{CHR(1)}{記号囲み}{CHR(2)}」 数字囲み=「{CHR(1)}{数字囲み}{CHR(2)}」 助詞囲み=「{CHR(1)}{助詞囲み}{CHR(2)}」 特殊囲み=「{CHR(1)}{特殊囲み}{CHR(2)}」 終了部分=「{CHR(1)}/span{CHR(2)}」 最初部分=「」 (ソース!=『』)の間 最小文字数=文字数(ソース) 番号=-1 囲み文字を反復 ソースで対象が何文字目。 もし、(それ<最小文字数)かつ(それ>0)なら 最小文字数=それ。 番号=回数-1 次囲み文字=対象。 #関数を探す 「●{~}■{~}*」を反復 ソースを"^\t* * *{対象}"で正規表現マッチ。 それ=それ\0 もし、(それ<>「」)かつ(何文字目(ソース,それ)<最小文字数)なら 番号=囲み文字数+回数-1 次囲み文字=対象。 #次の囲み文字を言う。 もし、番号=-1なら、抜ける。#囲み文字が見つからなかった場合。 ソースの次囲み文字までを切り取る。 それを記号色付け。 最初部分=最初部分&それ。 #囲み文字に応じて切り取り もし、番号<=9ならば もし、番号<=8ならば、 もし、番号=8ならば 次閉じ文字="*/" 違えば 次閉じ文字=MID(閉じ文字,番号+1,1) 違えば、 もし、(何文字目(ソース," "))<(何文字目(ソース,改行))ならば 次閉じ文字=" " 違えば 次閉じ文字=改行。 違えば、次閉じ文字=改行 もし、次閉じ文字=改行なら、 ソースの改行までを切り取る。 切り取り部分=「{次囲み文字}{それ}」 ソース=改行&ソース 違えば、 ソースの次閉じ文字までを切り取る。 切り取り部分=「{次囲み文字}{それ}{次閉じ文字}」 切り取り部分をHTML特殊文字変換。 もし、番号<6なら、最初部分=最初部分&文字列囲み&それ&『</span>』 違えば、もし、番号<9なら、最初部分=最初部分&コメント囲み&それ&『</span>』 違えば、もし、番号=9なら、最初部分=最初部分&項目囲み&それ&『</span>』 違えば、もし、番号<16ならば、最初部分=最初部分&コメント囲み&それ&『</span>』 違えば、最初部分=最初部分&関数囲み&それ&『</span>』 ソースを記号色付け。 完成文=最初部分&それ。 「<code>{完成文}</code>」を戻す。 ●記号色付け(ソースを) #yukさんに教えてもらった部分 //記号に色つけ ソースの「([!-@!-@←→])」を「{記号囲み}$1{終了部分}」へ正規表現置換。 「{記号囲み}(\d){終了部分}」を「{数字囲み}$1{終了部分}」へ正規表現置換。 「(\D){終了部分}{記号囲み}」を「$1」へ正規表現置換。 「(\d){終了部分}{数字囲み}」を「$1」へ正規表現置換。 ソースはそれ。 助詞一覧を反復 ソースのそれを「{助詞囲み}{それ}{終了部分}」に置換。 ソースはそれ。 特殊文字を反復 ソースのそれを「{特殊囲み}{それ}{終了部分}」に置換。 ソースはそれ。 ソースをHTML特殊文字変換。 //タグの"#"," ","<",">"を元に戻す それの(CHR(3))を"#"に置換。 それの(CHR(4))を" "に置換。 「{CHR(1)}」を「<」に置換。 「{CHR(2)}」を「>」に置換。 #/yukさんに教えてもらった部分 戻る。 ●HTML特殊文字変換(ソースを) ソースの「&」を「&」に置換。 「<」を「<」に置換。 「>」を「>」に置換。 # 「"」を「"」に置換 改行を「<BR>{改行}」に置換。 「{\t}」をタブ文字に置換。 「 」を「 」に置換 戻る。