あらゆる文字をhtmlentityする2012年6月28日HTMLで使われる特殊文字というのがある。いったネイティブ関数が用意されているが、一部の文字しか変換してくれないようだ。ASCII値を渡せばどんな文字でもhtmlentityで表現できる。htmlentity文字列だと、日本語のWebページに他言語のマルチバイト文字(中国語やハングル文字)などを埋め込むことができるし、メールアドレスの難読化ができて、メアド収集ロボットに対する防止になる(かもしれない)。そこで、PHPによる変換するスクリプトを書いてみた。Respond小ネタをひとつ。Noticeをハンドリングして扱いやすくする」で、Exceptionって別に投げなくてもいいんだ!なんてことを覚えたわけで、これを利用すれば呼び出し元のファイル名と行番号を取得することができることに気付いた。Respondこの記事は、以前のブログに投稿したものを微修正して再掲載したものです。初出は2011年4月です。NOTICEなどが発生した時に例外を投げてくれるようになります。参考にしたのはPHPマニュアルのユーザーコメント。まとめて処理できるようになると楽だなと思っていたんだけど、逆に毎回例外が発生して使い勝手が悪くなってしまった。するんじゃなくて、例外オブジェクトをコレクトするだけの処理にすればいいんじゃないかなと思ったので、実装してみました。