Shammer's Philosophy

My private adversaria

HTML Escape Converter by Shell

HTMLのエスケープ文字、昔は   とか > とかを使用していたが、HTML Codes - Table of ascii characters and symbols
によればこれは HTML Name と呼ばれるもので、これと別にHTML Number というのがあるようだ。HTML Name は一部の文字にしか割り当てられていないが、HTML Number というのはほぼ全てのASCII文字に割り当てられていそう。どうせならこっちを使う方がよさそうなので、HTML Number でエスケープすることにした。

問題は、過去に作成したHTMLではHTML Nameを使用していること。EmacsLispとかで文字変換させたりしているので、そのような場合に面倒になるかもしれない。というわけで、これらを置き換えることを考える。sed を使えばできそうなのでやってみる。Bash で二次元配列を使いたいので、ついでにそのサンプルにもなる。とりあえずは二次元配列。

PAIRS=('   ' '< <' '> >' '& &' '" "')
for i in "${PAIRS[@]}"
do
    PAIR=(${i[@]});
    echo ${PAIR[0]};
    echo ${PAIR[1]};
done

実行結果は以下。

$ PAIRS=('   ' '< <' '> >' '& &' '" "')
$ for i in "${PAIRS[@]}"
> do
> PAIR=(${i[@]});
> echo ${PAIR[0]};
> echo ${PAIR[1]};
> done
 
 
<
<
>
>
&
&
"
"

とりあえず、ここから進めていく。エスケープして sed に渡さないといけないので、そこだけ気をつけないといけなそうだ。