特殊文字変換フィルター spchar.pl

HTMLのソースをHTML文書に埋め込むとき、<>&"などはそれぞれ&lt;&gt;&amp;&quot;などに変換しなければなりません。これが以外と面倒です。perlを使うと自動化することができます。

使い方は簡単です。埋め込みたいHTML文書を cat で標準出力に出力して、spchar.plにパイプするだけです。これをリダイレクトで例えば temp.txt などのファイルとして出力しておき、エディターから読み込みます。

$ cat hoge.html | spchar.pl > temp.txt

ファイル名:spchar.pl
スクリプト:

#!/usr/bin/perl

print '<pre>',"\n";
while ( <> ) {
	s/\&/\&amp\;/g;
	s/\</\&lt\;/g;
	s/\>/\&gt\;/g;
	s/\"/\&quot;/g;
	print;
}
print '</pre>',"\n";

# spchar.pl

自分で使うツールを作るときはフィルターにしておくと便利です。テストのときは、結果を標準出力で見ることができます。また、完成したら、他のツールとの組合せが簡単にできます。

このフィルターは sed を使うともっとコンパクトに書くことができます。

ファイル名:spchar

#!/bin/sed -f

s/&/\&amp;/g
s/</\&lt;/g
s/>/\&gt;/g
s/"/\&quot;/g