Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事に対してトラックバックを送信する(FC2ブログユーザー)
http://mocaskr.blog42.fc2.com/tb.php/2-0e4bf628

-件のトラックバック

[T1] サクラエディタ用HTML編集マクロ

最近、テキストエディタとしてサクラエディタを使い始めたのですが、用途としてはBlog用にHTMLもどきを書くことが多いので、HTMLの編集に便利な機能はないか探してみました。HTMLエスケープ(js) - Mocaのブログhttp://mocaskr.blog42.fc2.com/blog-category-1.html任...

[T2] Macro/投稿/92

HTMLエスケープ ページ: Macro/投稿 作者: Moca カテゴリー: js 投稿日: 2006-07-28 (金) 23:13:22 ▲ ▼メッセージ 良くあるHTML用のエスケープ関数です。 関数にしている意味は特にありません。 http://mocaskr.blog42.fc2.com/blog-entry-2.html

-件のコメント

[C6] 管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

コメントの投稿

投稿フォーム
投稿した内容は管理者にだけ閲覧出来ます

HTMLエスケープ(js)

良くあるHTML用のエスケープ関数です。
関数にしている意味は特にありません。

// SakuraEditor + JScript macro
// Author: Moca
// Description: HTML escape
function html_escape(){
	var str = Editor.GetSelectedString(0);
	str = str.replace( /&/g,  "&" );
	str = str.replace( /\</g, "&lt;" );
	str = str.replace( /\>/g, "&gt;" );
	str = str.replace( /"/g,  "&quot;" ); // "
	str = str.replace( /'/g,  "&#39;" );   // ' aposはHTMLで使用不可
	Editor.InsText( str );
}
html_escape();

サクラに限らず、この処理の注意点として & → &amp; の置換を最初に行わないといけません。 そうしないと、&lt; のようにエスケープしたものをもう一度エスケープ処理してしまいます。

同様の処理はEditor.ReplaceAll("&","&amp;",128); (すべて置換/範囲=選択範囲)でも実行可能です。 しかしサクラエディタの SearchNextReplaceReplaceAll などの関数では、 検索・置換の履歴とオプションを変更してしまうため、扱いにくいのが現状です。 他のウィンドウの「次検索」・「前検索」の動作にも影響を与えます。

この影響範囲は、現状では仕様とされています。 ユーザが他のウィンドウで「検索マークの切り替え」などで条件を設定し、検索したい側のウィンドウで「次検索」をおして検索する場合などで便利だからです。 例えば、C/C++ではヘッダで条件を設定し、ソースで検索することが考えられます。

またサクラエディタでは、「元に戻す」「やり直し」の単位を決める機能が無いので、 一発で戻せるようにするには、やはりInsTextが便利です。

ちなみに、この関数は、このブログにコードを貼り付けるときに使用しています。

スポンサーサイト
この記事に対してトラックバックを送信する(FC2ブログユーザー)
http://mocaskr.blog42.fc2.com/tb.php/2-0e4bf628

2件のトラックバック

[T1] サクラエディタ用HTML編集マクロ

最近、テキストエディタとしてサクラエディタを使い始めたのですが、用途としてはBlog用にHTMLもどきを書くことが多いので、HTMLの編集に便利な機能はないか探してみました。HTMLエスケープ(js) - Mocaのブログhttp://mocaskr.blog42.fc2.com/blog-category-1.html任...

[T2] Macro/投稿/92

HTMLエスケープ ページ: Macro/投稿 作者: Moca カテゴリー: js 投稿日: 2006-07-28 (金) 23:13:22 ▲&nbsp;▼メッセージ 良くあるHTML用のエスケープ関数です。 関数にしている意味は特にありません。 http://mocaskr.blog42.fc2.com/blog-entry-2.html

1件のコメント

[C6] 管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

コメントの投稿

投稿フォーム
投稿した内容は管理者にだけ閲覧出来ます

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。