添付ファイルの情報



[添付ファイル一覧] [全ページの添付ファイル一覧]

filehtmlCharacterReference.js
格納ファイル名:attach/4D6163726F2FC5EAB9C62F323435_68746D6C4368617261637465725265666572656E63652E6A73
ページ:Macro/投稿/245
格納ファイル名:attach/4D6163726F2FC5EAB9C62F323435_68746D6C4368617261637465725265666572656E63652E6A73
MD5ハッシュ値:55750b4e26554867fe8092f6ef272d74
サイズ:1.4KB (1400 bytes)
Content-type:application/octet-stream
登録日時:2018/11/19 02:25:55
アクセス数:95
MD5ハッシュ値:55750b4e26554867fe8092f6ef272d74
filehtmlCharacterReference.js
  0
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
/*******************************************
■HTML文字参照化マクロ
 
カーソル右側の文字をHTMLの文字参照に変換するマクロ
(「<」 => 「&#38;&#35;60;」)
テキスト選択中なら1文字ずつ全て変換
 
`ENTITY_HEX = true`なら16進数指定で出力
(「>」 => 「&#x3e;」)
 
2バイト文字は文字コードUTF-8で出力
なので`charset="utf-8"`のHTMLじゃないと使えない
*******************************************/
 
 
var ENTITY_HEX = false; //16進数値で出力?
 
var c_except;           //変換しない文字の指定
//  c_except = new RegExp('[a-z0-9]','i');
 
 
function characterReference(){
  var s=IsTextSelected();
  if(s==2){//矩形選択時は無効
    return false;
  }else if(s==0){//→←はUndoで文字の左側へカーソル戻すため
    Right(); Left_Sel();
  }
 
  var r='', w=GetSelectedString(0);
 
  for(var i=f=cc=0,c; i<w.length; i++){//基本的には文字コードに置き換えてるだけ
    if(c_except && w.charAt(i).match(c_except)){r+=w.charAt(i); continue}
    c=w.charCodeAt(i); f=c==10||c==13?(c==10&&cc==13?2:1):0; cc=c;//改行文字の扱いでゴチャついてる
    if(f!=2){r+='&#';
      if(ENTITY_HEX){
        var h=((c<0x10||(c>0xff&&c<0x1000))?'0':'')+c.toString(16);
        if(ENTITY_HEX!==true){h=h.toUpperCase()}//`ENTITY_HEX = 1` とかなら大文字化
        c='x'+h;
      }
      r+=c+';';
    }
    if(f){r+=w.charAt(i)}
  }
  InsText(r);
  s=r=w=null; return true;
}
 
if(Editor){characterReference()}
 




    


    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS