「★ソース高速HTML化」の編集履歴(バックアップ)一覧はこちら
★ソース高速HTML化 - (2008/10/01 (水) 20:55:57) の1つ前との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*情報
作者名:fuji
引用元:[[なでしこプログラム掲示板「ソース高速HTML化」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=444&rev=&no=0]]
*概要
なでしこのソースをエディタ上と同じように見えるように色付けします。
*解説
モードの説明
モードには0と1が指定できます。
通常は0で十分です。
HTML化するソースがたくさんある場合には、
1モードにして、
<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ファイルのどこかに(<head>タグ内推奨)書くか、
上が書かれたcssファイルをアップして置き、そこにリンクするようにしておくと、
多少HTMLがきれいになります。
*//本体
<code><span style="color:#008000;">#ソース高速HTML化</span><BR>
<BR>
<span style="color:#008080;">!</span>母艦設計<span style="color:#008080;">=</span><span style="color:#000080;">「母艦の可視はオフ」</span><BR>
<BR>
<span style="color:#008000;">#実行部分</span><BR>
<span style="color:#008000;">#実際に使う時は、ここを必要に応じて変えてください。</span><BR>
<span style="color:#008000;">#-----------------------------------------------------------------------</span><BR>
デバッグエディタハンドル<span style="color:#800000;">に</span><span style="color:#000080;">「copy」</span><span style="color:#800000;">を</span>、COPYDATA送信。<BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">は</span>クリップボ<span style="color:#008080;">ー</span>ド<BR>
<BR>
<span style="color:#000080;">もし</span>、ソ<span style="color:#008080;">ー</span>ス<span style="color:#008080;">=</span>空<span style="color:#800000;">なら</span>、<BR>
<span style="color:#000080;">"nako"</span><span style="color:#800000;">の</span>ファイル選択。<BR>
<span style="color:#000080;">もし</span>、<span style="color:#000080;">それ</span><span style="color:#008080;">=</span>空<span style="color:#800000;">なら</span><span style="color:#000080;">終わる</span>。<BR>
<span style="color:#000080;">違えば</span><BR>
<span style="color:#000080;">それ</span><span style="color:#800000;">を</span>開く。<BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#008080;">=</span><span style="color:#000080;">それ</span>。<BR>
開始時間<span style="color:#008080;">=</span>システム時間。<BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">を</span><span style="color:#000080;">0</span><span style="color:#008000;">/*モード*/</span><span style="color:#800000;">で</span>HTML化。<BR>
完成文<span style="color:#800000;">は</span><span style="color:#000080;">それ</span>。<BR>
終了時間<span style="color:#008080;">=</span>システム時間。<BR>
所要時間<span style="color:#008080;">=(</span>終了時間<span style="color:#008080;">-</span>開始時間<span style="color:#008080;">)/</span><span style="color:#000080;">1000</span><BR>
<BR>
<span style="color:#008000;">'フッタの挿入。</span><BR>
<span style="color:#008000;">'ここも必要に応じて変えてください。</span><BR>
クリップボ<span style="color:#008080;">ー</span>ド<span style="color:#008080;">=</span>完成文<BR>
ダイアログタイトル<span style="color:#008080;">=</span><span style="color:#000080;">「所要時間:{所要時間}秒」</span><BR>
<span style="color:#000080;">「コード部分をクリップボードへコピーしました。<BR>
見てみますか?」</span><span style="color:#800000;">と</span>、二択。<BR>
<span style="color:#000080;">もし</span>、<span style="color:#000080;">それ</span><span style="color:#800000;">なら</span><BR>
<span style="color:#000080;">それ</span><span style="color:#008080;">=</span><span style="color:#000080;">「<html><body>{改行}」</span><span style="color:#008080;">&</span>完成文<span style="color:#008080;">&</span><span style="color:#000080;">「{改行}</body></html>」</span><BR>
<span style="color:#000080;">「temp.html」</span><span style="color:#800000;">へ</span>、保存。<BR>
<span style="color:#000080;">「temp.html」</span><span style="color:#800000;">を</span>、起動。<BR>
<BR>
終わり。<BR>
<BR>
<span style="color:#008000;">#-----------------------------------------------------------------------</span><BR>
<BR>
<BR>
<span style="font-weight : bold ; color :#FF00FF;">*HTML化(ソースをモードで)</span><BR>
<span style="color:#008000;">'定数</span><BR>
タブ文字<span style="color:#800000;">は</span><span style="color:#000080;">「 」</span><BR>
文字列色<span style="color:#800000;">は</span><span style="color:#000080;">"#000080"</span><BR>
コメント色<span style="color:#800000;">は</span><span style="color:#000080;">"#008000"</span><BR>
関数色<span style="color:#800000;">は</span><span style="color:#000080;">"#FF00FF"</span><BR>
項目色<span style="color:#800000;">は</span><span style="color:#000080;">"#800080"</span><BR>
記号色<span style="color:#800000;">は</span><span style="color:#000080;">"{CHR(3)}008080"</span><BR>
数字色<span style="color:#800000;">は</span><span style="color:#000080;">"{CHR(3)}000080"</span><BR>
助詞色<span style="color:#800000;">は</span><span style="color:#000080;">"{CHR(3)}800000"</span><BR>
特殊色<span style="color:#800000;">は</span><span style="color:#000080;">"{CHR(3)}000080"</span><BR>
<BR>
<span style="color:#008000;"># CR=CHR(13)</span><BR>
<BR>
助詞一覧<span style="color:#008080;">=</span><span style="color:#000080;">「とは{~}は{~}について{~}ならば{~}なら{~}でなければ{~}から<BR>
まで{~}までを{~}までの{~}で{~}を{~}の{~}が{~}に{~}へ{~}と{~}して<BR>
だけ{~}くらい{~}なのか{~}として{~}より{~}ほど{~}など{~}って{~}では{~}て」</span><BR>
<BR>
特殊文字<span style="color:#008080;">=</span><span style="color:#000080;">「それ{~}ここまで{~}続ける{~}終わる{~}戻る{~}もし{~}違えば{~}条件分岐<BR>
反復{~}繰り返す{~}ループ」</span><span style="color:#008000;">#{~}間{~}回#文中に含まれる可能性のある語は除外</span><BR>
<BR>
<span style="color:#008000;">//「"”『``{{・/*##//'’※</span><BR>
囲み文字<span style="color:#008080;">=</span><span style="color:#000080;">`「<BR>
"<BR>
”<BR>
`</span><span style="color:#008080;">&</span><span style="color:#000080;">"『<BR>
`<BR>
`"</span><span style="color:#008080;">&</span><span style="color:#000080;">`<BR>
{<BR>
{<BR>
/*<BR>
・<BR>
#<BR>
#<BR>
//<BR>
'<BR>
’<BR>
※`</span><BR>
<BR>
<BR>
閉じ文字<span style="color:#008080;">=</span><span style="color:#000080;">`」"”`</span><span style="color:#008080;">&</span><span style="color:#000080;">"』``"</span><span style="color:#008080;">&</span><span style="color:#000080;">`}}`</span><span style="color:#008000;">#*/ </span><BR>
<BR>
囲み文字数<span style="color:#008080;">=</span>要素数<span style="color:#008080;">(</span>囲み文字<span style="color:#008080;">)</span><BR>
<BR>
<span style="color:#000080;">もし</span>、モ<span style="color:#008080;">ー</span>ド<span style="color:#008080;">=</span><span style="color:#000080;">0</span><span style="color:#800000;">なら</span><BR>
文字列囲み<span style="color:#008080;">=</span><span style="color:#000080;">『<span style="color:』</span><span style="color:#008080;">&</span>文字列色<span style="color:#008080;">&</span><span style="color:#000080;">『;">』</span><BR>
コメント囲み<span style="color:#008080;">=</span><span style="color:#000080;">『<span style="color:』</span><span style="color:#008080;">&</span>コメント色<span style="color:#008080;">&</span><span style="color:#000080;">『;">』</span><BR>
関数囲み<span style="color:#008080;">=</span><span style="color:#000080;">『<span style="font-weight : bold ; color :』</span><span style="color:#008080;">&</span>関数色<span style="color:#008080;">&</span><span style="color:#000080;">『;">』</span><BR>
項目囲み<span style="color:#008080;">=</span><span style="color:#000080;">『<span style="color :』</span><span style="color:#008080;">&</span>項目色<span style="color:#008080;">&</span><span style="color:#000080;">『;">』</span><BR>
記号囲み<span style="color:#008080;">=</span><span style="color:#000080;">『span』</span><span style="color:#008080;">&(</span>CHR<span style="color:#008080;">(</span><span style="color:#000080;">4</span><span style="color:#008080;">))&</span><span style="color:#000080;">『style="color:』</span><span style="color:#008080;">&</span>記号色<span style="color:#008080;">&</span><span style="color:#000080;">『;"』</span><BR>
数字囲み<span style="color:#008080;">=</span><span style="color:#000080;">『span』</span><span style="color:#008080;">&(</span>CHR<span style="color:#008080;">(</span><span style="color:#000080;">4</span><span style="color:#008080;">))&</span><span style="color:#000080;">『style="color:』</span><span style="color:#008080;">&</span>数字色<span style="color:#008080;">&</span><span style="color:#000080;">『;"』</span><BR>
助詞囲み<span style="color:#008080;">=</span><span style="color:#000080;">『span』</span><span style="color:#008080;">&(</span>CHR<span style="color:#008080;">(</span><span style="color:#000080;">4</span><span style="color:#008080;">))&</span><span style="color:#000080;">『style="color:』</span><span style="color:#008080;">&</span>助詞色<span style="color:#008080;">&</span><span style="color:#000080;">『;"』</span><BR>
特殊囲み<span style="color:#008080;">=</span><span style="color:#000080;">『span』</span><span style="color:#008080;">&(</span>CHR<span style="color:#008080;">(</span><span style="color:#000080;">4</span><span style="color:#008080;">))&</span><span style="color:#000080;">『style="color:』</span><span style="color:#008080;">&</span>特殊色<span style="color:#008080;">&</span><span style="color:#000080;">『;"』</span><BR>
<BR>
<span style="color:#000080;">違えば</span><BR>
文字列囲み<span style="color:#008080;">=</span><span style="color:#000080;">『<span class="nstr">』</span><BR>
コメント囲み<span style="color:#008080;">=</span><span style="color:#000080;">『<span class="ncomment">』</span><BR>
関数囲み<span style="color:#008080;">=</span><span style="color:#000080;">『<span class="function">』</span><BR>
項目囲み<span style="color:#008080;">=</span><span style="color:#000080;">『<span class="member">』</span><BR>
記号囲み<span style="color:#008080;">=</span><span style="color:#000080;">『span』</span><span style="color:#008080;">&(</span>CHR<span style="color:#008080;">(</span><span style="color:#000080;">4</span><span style="color:#008080;">))&</span><span style="color:#000080;">『class="nsign"』</span><BR>
数字囲み<span style="color:#008080;">=</span><span style="color:#000080;">『span』</span><span style="color:#008080;">&(</span>CHR<span style="color:#008080;">(</span><span style="color:#000080;">4</span><span style="color:#008080;">))&</span><span style="color:#000080;">『class="nnumber"』</span><BR>
助詞囲み<span style="color:#008080;">=</span><span style="color:#000080;">『span』</span><span style="color:#008080;">&(</span>CHR<span style="color:#008080;">(</span><span style="color:#000080;">4</span><span style="color:#008080;">))&</span><span style="color:#000080;">『class="particle"』</span><BR>
特殊囲み<span style="color:#008080;">=</span><span style="color:#000080;">『span』</span><span style="color:#008080;">&(</span>CHR<span style="color:#008080;">(</span><span style="color:#000080;">4</span><span style="color:#008080;">))&</span><span style="color:#000080;">『class="special"』</span><BR>
<BR>
記号囲み<span style="color:#008080;">=</span><span style="color:#000080;">「{CHR(1)}{記号囲み}{CHR(2)}」</span><BR>
数字囲み<span style="color:#008080;">=</span><span style="color:#000080;">「{CHR(1)}{数字囲み}{CHR(2)}」</span><BR>
助詞囲み<span style="color:#008080;">=</span><span style="color:#000080;">「{CHR(1)}{助詞囲み}{CHR(2)}」</span><BR>
特殊囲み<span style="color:#008080;">=</span><span style="color:#000080;">「{CHR(1)}{特殊囲み}{CHR(2)}」</span><BR>
終了部分<span style="color:#008080;">=</span><span style="color:#000080;">「{CHR(1)}/span{CHR(2)}」</span><BR>
<BR>
最初部分<span style="color:#008080;">=</span><span style="color:#000080;">「」</span><BR>
<BR>
<span style="color:#008080;">(</span>ソ<span style="color:#008080;">ー</span>ス<span style="color:#008080;">!=</span><span style="color:#000080;">『』</span><span style="color:#008080;">)</span><span style="color:#800000;">の</span>間<BR>
最小文字数<span style="color:#008080;">=</span>文字数<span style="color:#008080;">(</span>ソ<span style="color:#008080;">ー</span>ス<span style="color:#008080;">)</span><BR>
番号<span style="color:#008080;">=-</span><span style="color:#000080;">1</span><BR>
囲み文字<span style="color:#800000;">を</span><span style="color:#000080;">反復</span><BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">で</span>対象<span style="color:#800000;">が</span>何文字目。<BR>
<span style="color:#000080;">もし</span>、<span style="color:#008080;">(</span><span style="color:#000080;">それ</span><span style="color:#008080;"><</span>最小文字数<span style="color:#008080;">)</span>かつ<span style="color:#008080;">(</span><span style="color:#000080;">それ</span><span style="color:#008080;">></span><span style="color:#000080;">0</span><span style="color:#008080;">)</span><span style="color:#800000;">なら</span><BR>
最小文字数<span style="color:#008080;">=</span><span style="color:#000080;">それ</span>。<BR>
番号<span style="color:#008080;">=</span>回数<span style="color:#008080;">-</span><span style="color:#000080;">1</span><BR>
次囲み文字<span style="color:#008080;">=</span>対象。<BR>
<BR>
<span style="color:#008000;">#関数を探す</span><BR>
<span style="color:#000080;">「●{~}■{~}*」</span><span style="color:#800000;">を</span><span style="color:#000080;">反復</span><BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">を</span><span style="color:#000080;">"^\t* * *{対象}"</span><span style="color:#800000;">で</span>正規表現マッチ。<BR>
<span style="color:#000080;">それ</span><span style="color:#008080;">=</span><span style="color:#000080;">それ</span>\<span style="color:#000080;">0</span><BR>
<span style="color:#000080;">もし</span>、<span style="color:#008080;">(</span><span style="color:#000080;">それ</span><span style="color:#008080;"><></span><span style="color:#000080;">「」</span><span style="color:#008080;">)</span>かつ<span style="color:#008080;">(</span>何文字目<span style="color:#008080;">(</span>ソ<span style="color:#008080;">ー</span>ス<span style="color:#008080;">,</span><span style="color:#000080;">それ</span><span style="color:#008080;">)<</span>最小文字数<span style="color:#008080;">)</span><span style="color:#800000;">なら</span><BR>
番号<span style="color:#008080;">=</span>囲み文字数<span style="color:#008080;">+</span>回数<span style="color:#008080;">-</span><span style="color:#000080;">1</span><BR>
次囲み文字<span style="color:#008080;">=</span>対象。<BR>
<span style="color:#008000;">#次の囲み文字を言う。</span><BR>
<span style="color:#000080;">もし</span>、番号<span style="color:#008080;">=-</span><span style="color:#000080;">1</span><span style="color:#800000;">なら</span>、抜ける。<span style="color:#008000;">#囲み文字が見つからなかった場合。</span><BR>
<BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">の</span>次囲み文字<span style="color:#800000;">ま<span style="color:#800000;">で</span></span><span style="color:#800000;">を</span>切り取る。<BR>
<span style="color:#000080;">それ</span><span style="color:#800000;">を</span>記号色付け。<BR>
最初部分<span style="color:#008080;">=</span>最初部分<span style="color:#008080;">&</span><span style="color:#000080;">それ</span>。<BR>
<BR>
<span style="color:#008000;">#囲み文字に応じて切り取り</span><BR>
<span style="color:#000080;">もし</span>、番号<span style="color:#008080;"><=</span><span style="color:#000080;">9</span><span style="color:#800000;"><span style="color:#800000;">なら</span>ば</span><BR>
<span style="color:#000080;">もし</span>、番号<span style="color:#008080;"><=</span><span style="color:#000080;">8</span><span style="color:#800000;"><span style="color:#800000;">なら</span>ば</span>、<BR>
<span style="color:#000080;">もし</span>、番号<span style="color:#008080;">=</span><span style="color:#000080;">8</span><span style="color:#800000;"><span style="color:#800000;">なら</span>ば</span><BR>
次閉じ文字<span style="color:#008080;">=</span><span style="color:#000080;">"*/"</span><BR>
<span style="color:#000080;">違えば</span><BR>
次閉じ文字<span style="color:#008080;">=</span>MID<span style="color:#008080;">(</span>閉じ文字<span style="color:#008080;">,</span>番号<span style="color:#008080;">+</span><span style="color:#000080;">1</span><span style="color:#008080;">,</span><span style="color:#000080;">1</span><span style="color:#008080;">)</span><BR>
<span style="color:#000080;">違えば</span>、<BR>
<span style="color:#000080;">もし</span>、<span style="color:#008080;">(</span>何文字目<span style="color:#008080;">(</span>ソ<span style="color:#008080;">ー</span>ス<span style="color:#008080;">,</span><span style="color:#000080;">" "</span><span style="color:#008080;">))<(</span>何文字目<span style="color:#008080;">(</span>ソ<span style="color:#008080;">ー</span>ス<span style="color:#008080;">,</span>改行<span style="color:#008080;">))</span><span style="color:#800000;"><span style="color:#800000;">なら</span>ば</span><BR>
次閉じ文字<span style="color:#008080;">=</span><span style="color:#000080;">" "</span><BR>
<span style="color:#000080;">違えば</span><BR>
次閉じ文字<span style="color:#008080;">=</span>改行。<BR>
<span style="color:#000080;">違えば</span>、次閉じ文字<span style="color:#008080;">=</span>改行<BR>
<BR>
<span style="color:#000080;">もし</span>、次閉じ文字<span style="color:#008080;">=</span>改行<span style="color:#800000;">なら</span>、<BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">の</span>改行<span style="color:#800000;">ま<span style="color:#800000;">で</span></span><span style="color:#800000;">を</span>切り取る。<BR>
切り取り部分<span style="color:#008080;">=</span><span style="color:#000080;">「{次囲み文字}{それ}」</span><BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#008080;">=</span>改行<span style="color:#008080;">&</span>ソ<span style="color:#008080;">ー</span>ス<BR>
<span style="color:#000080;">違えば</span>、<BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">の</span>次閉じ文字<span style="color:#800000;">ま<span style="color:#800000;">で</span></span><span style="color:#800000;">を</span>切り取る。<BR>
切り取り部分<span style="color:#008080;">=</span><span style="color:#000080;">「{次囲み文字}{それ}{次閉じ文字}」</span><BR>
<BR>
切り取り部分<span style="color:#800000;">を</span>HTML特殊文字変換。<BR>
<BR>
<span style="color:#000080;">もし</span>、番号<span style="color:#008080;"><</span><span style="color:#000080;">6</span><span style="color:#800000;">なら</span>、最初部分<span style="color:#008080;">=</span>最初部分<span style="color:#008080;">&</span>文字列囲み<span style="color:#008080;">&</span><span style="color:#000080;">それ</span><span style="color:#008080;">&</span><span style="color:#000080;">『</span>』</span><BR>
<span style="color:#000080;">違えば</span>、<span style="color:#000080;">もし</span>、番号<span style="color:#008080;"><</span><span style="color:#000080;">9</span><span style="color:#800000;">なら</span>、最初部分<span style="color:#008080;">=</span>最初部分<span style="color:#008080;">&</span>コメント囲み<span style="color:#008080;">&</span><span style="color:#000080;">それ</span><span style="color:#008080;">&</span><span style="color:#000080;">『</span>』</span><BR>
<span style="color:#000080;">違えば</span>、<span style="color:#000080;">もし</span>、番号<span style="color:#008080;">=</span><span style="color:#000080;">9</span><span style="color:#800000;">なら</span>、最初部分<span style="color:#008080;">=</span>最初部分<span style="color:#008080;">&</span>項目囲み<span style="color:#008080;">&</span><span style="color:#000080;">それ</span><span style="color:#008080;">&</span><span style="color:#000080;">『</span>』</span><BR>
<span style="color:#000080;">違えば</span>、<span style="color:#000080;">もし</span>、番号<span style="color:#008080;"><</span><span style="color:#000080;">16</span><span style="color:#800000;"><span style="color:#800000;">なら</span>ば</span>、最初部分<span style="color:#008080;">=</span>最初部分<span style="color:#008080;">&</span>コメント囲み<span style="color:#008080;">&</span><span style="color:#000080;">それ</span><span style="color:#008080;">&</span><span style="color:#000080;">『</span>』</span><BR>
<span style="color:#000080;">違えば</span>、最初部分<span style="color:#008080;">=</span>最初部分<span style="color:#008080;">&</span>関数囲み<span style="color:#008080;">&</span><span style="color:#000080;">それ</span><span style="color:#008080;">&</span><span style="color:#000080;">『</span>』</span><BR>
<BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">を</span>記号色付け。<BR>
完成文<span style="color:#008080;">=</span>最初部分<span style="color:#008080;">&</span><span style="color:#000080;">それ</span>。<BR>
<span style="color:#000080;">「<code>{完成文}</code>」</span><span style="color:#800000;">を</span>戻す。<BR>
<BR>
<BR>
<span style="font-weight : bold ; color :#FF00FF;">●記号色付け(ソースを)</span><BR>
<span style="color:#008000;">#yukさんに教えてもらった部分</span><BR>
<span style="color:#008000;">//記号に色つけ</span><BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">の</span><span style="color:#000080;">「([!-@!-@←→])」</span><span style="color:#800000;">を</span><span style="color:#000080;">「{記号囲み}$1{終了部分}」</span><span style="color:#800000;">へ</span>正規表現置換。<BR>
<span style="color:#000080;">「{記号囲み}(\d){終了部分}」</span><span style="color:#800000;">を</span><span style="color:#000080;">「{数字囲み}$1{終了部分}」</span><span style="color:#800000;">へ</span>正規表現置換。<BR>
<BR>
<span style="color:#000080;">「(\D){終了部分}{記号囲み}」</span><span style="color:#800000;">を</span><span style="color:#000080;">「$1」</span><span style="color:#800000;">へ</span>正規表現置換。<BR>
<span style="color:#000080;">「(\d){終了部分}{数字囲み}」</span><span style="color:#800000;">を</span><span style="color:#000080;">「$1」</span><span style="color:#800000;">へ</span>正規表現置換。<BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">は</span><span style="color:#000080;">それ</span>。<BR>
<BR>
助詞一覧<span style="color:#800000;">を</span><span style="color:#000080;">反復</span><BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">の</span><span style="color:#000080;">それ</span><span style="color:#800000;">を</span><span style="color:#000080;">「{助詞囲み}{それ}{終了部分}」</span><span style="color:#800000;">に</span>置換。<BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">は</span><span style="color:#000080;">それ</span>。<BR>
<BR>
特殊文字<span style="color:#800000;">を</span><span style="color:#000080;">反復</span><BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">の</span><span style="color:#000080;">それ</span><span style="color:#800000;">を</span><span style="color:#000080;">「{特殊囲み}{それ}{終了部分}」</span><span style="color:#800000;">に</span>置換。<BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">は</span><span style="color:#000080;">それ</span>。<BR>
<BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">を</span>HTML特殊文字変換。<BR>
<BR>
<span style="color:#008000;">//タグの"#"," ","<",">"を元に戻す</span><BR>
<span style="color:#000080;">それ</span><span style="color:#800000;">の</span><span style="color:#008080;">(</span>CHR<span style="color:#008080;">(</span><span style="color:#000080;">3</span><span style="color:#008080;">))</span><span style="color:#800000;">を</span><span style="color:#000080;">"#"</span><span style="color:#800000;">に</span>置換。<BR>
<span style="color:#000080;">それ</span><span style="color:#800000;">の</span><span style="color:#008080;">(</span>CHR<span style="color:#008080;">(</span><span style="color:#000080;">4</span><span style="color:#008080;">))</span><span style="color:#800000;">を</span><span style="color:#000080;">" "</span><span style="color:#800000;">に</span>置換。<BR>
<span style="color:#000080;">「{CHR(1)}」</span><span style="color:#800000;">を</span><span style="color:#000080;">「<」</span><span style="color:#800000;">に</span>置換。<BR>
<span style="color:#000080;">「{CHR(2)}」</span><span style="color:#800000;">を</span><span style="color:#000080;">「>」</span><span style="color:#800000;">に</span>置換。<BR>
<span style="color:#008000;">#/yukさんに教えてもらった部分</span><BR>
<BR>
<span style="color:#000080;">戻る</span>。<BR>
<BR>
<span style="font-weight : bold ; color :#FF00FF;">●HTML特殊文字変換(ソースを)</span><BR>
ソ<span style="color:#008080;">ー</span>ス<span style="color:#800000;">の</span><span style="color:#000080;">「&」</span><span style="color:#800000;">を</span><span style="color:#000080;">「&」</span><span style="color:#800000;">に</span>置換。<BR>
<span style="color:#000080;">「<」</span><span style="color:#800000;">を</span><span style="color:#000080;">「<」</span><span style="color:#800000;">に</span>置換。<BR>
<span style="color:#000080;">「>」</span><span style="color:#800000;">を</span><span style="color:#000080;">「>」</span><span style="color:#800000;">に</span>置換。<BR>
<span style="color:#008000;"># 「"」を「"」に置換</span><BR>
改行<span style="color:#800000;">を</span><span style="color:#000080;">「<BR>{改行}」</span><span style="color:#800000;">に</span>置換。<BR>
<span style="color:#000080;">「{\t}」</span><span style="color:#800000;">を</span>タブ文字<span style="color:#800000;">に</span>置換。<BR>
<span style="color:#000080;">「 」</span><span style="color:#800000;">を</span><span style="color:#000080;">「 」</span><span style="color:#800000;">に</span>置換<BR>
<BR>
<span style="color:#000080;">戻る</span>。<BR>
</code>
----
#comment()
----
*情報
作者名:fuji
引用元:[[なでしこプログラム掲示板「ソース高速HTML化」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=444&rev=&no=0]]
*概要
なでしこのソースをエディタ上と同じように見えるように色付けします。
*解説
モードの説明
モードには0と1が指定できます。
通常は0で十分です。
HTML化するソースがたくさんある場合には、
1モードにして、
<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ファイルのどこかに(<head>タグ内推奨)書くか、
上が書かれたcssファイルをアップして置き、そこにリンクするようにしておくと、
多少HTMLがきれいになります。
*//本体
#ソース高速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}」をタブ文字に置換。
「 」を「 」に置換
戻る。
----
#comment()
----