Home > Javascript > テキストエリアにコードを書くためのHTMLエンティティ化ブックマークレット CodeWrite

テキストエリアにコードを書くためのHTMLエンティティ化ブックマークレット CodeWrite

コメントにコードを書けるようにしろ、との意見があった。まったくもって正統な要求である。
というわけで何とかしようと思ったけど、Wordpressよくわからんのであきらめて、代わりにブックマークレット作っておいた。
HTMLエンティティ化したい部分を選択して実行すれば変換してくれる。textareaの中に対してしか作用しないけど。
Wordpressのjavascriptをだいぶパクっています。

これで我慢してください。

以上

Comments:3

コスミー 09-02-13 (金) 1:38

テスト
function enentity(content) {
   return content.replace(/&/g,’&amp;’).replace(/\"/g,’&quot;’).replace(/</g, ‘&lt;’).replace(/>/g, ‘&gt;’).replace(‘/ /g’,’&nbsp;’);
}

function codewrite() {
   var myFields = document.getElementsByTagName("TEXTAREA");
   var myField;
   
   for (var i = 0; i < myFields.length; i++) {
      myField = myFields[i];
      if (document.selection) {
         myField.focus();
          sel = document.selection.createRange();
         if (sel.text.length > 0) {
            sel.text = enentity(sel.text);
         } else {
            continue;
         }
         
         myField.focus();
      }
      else if (myField.selectionStart || myField.selectionStart == ‘0’) {
         var startPos = myField.selectionStart;
         var endPos = myField.selectionEnd;
         var cursorPos = endPos;
         var scrollTop = myField.scrollTop;

         if (startPos != endPos) {
            var before = myField.value.substring(startPos, endPos);
            var after = enentity(before);
            myField.value = myField.value.substring(0, startPos)
                          + after
                          + myField.value.substring(endPos, myField.value.length);
            cursorPos += after.length – before.length;
         } else {
            continue;
         }
         
         myField.focus();
         myField.selectionStart = cursorPos;
         myField.selectionEnd = cursorPos;
         myField.scrollTop = scrollTop;
      }
   }
}

o-taki 09-02-13 (金) 11:48

function test() {
  for ( i=0 ;i<100; i++ ) {
    printf("hello world!\n");
  }
}

匿名 09-02-20 (金) 0:58

Add Your Comment

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://red-treasure.com/report/wp-trackback.php?p=335
Listed below are links to weblogs that reference
テキストエリアにコードを書くためのHTMLエンティティ化ブックマークレット CodeWrite from コスミー報告書[社外秘]

Home > Javascript > テキストエリアにコードを書くためのHTMLエンティティ化ブックマークレット CodeWrite

Search
Feeds
Meta
 合計:000854
 今日:0085 昨日:0199

Return to page top