OXY NOTES

エンティティとデコード用プラグイン「Entity Decode Button」を作成しました

WordPressのテキストエディタにentityとdecodeボタンを追加します

<>」を「&lt;&gt;」にエンティティー化したい。

そんなときに役立つプラグイン「Entity Decode Button」を作成しました。
<>」といったHTMLで解釈される文字だけでなく「@や©、-(ハイフン)」などもエンティティ化することができます。

また、エンティティ化だけでなく、デコードボタンで元に戻すこともできます。


Entity Decode Buttonの機能

プラグインを有効にするとテキストエディタに3つのボタンが追加されます。

「entity_char」ボタン

文字を選択した状態で「entity_char」ボタンをクリックすると実体参照化します。HTMLでタグとして解釈される文字列のみを変換するのに向いています。(<>&など)
PHPのhtmlspecialcharsに相当します。

例)「entity_char」ボタンの変換

<div> → &lt;div&gt;

「entity_num」ボタン

entity_num」ボタンは10進数数値文字参照化(文字参照)します。@や©、2つのハイフン「--」など、すべての文字をエンティティ化することができます。(改行も変換するので複数行実行する場合は注意)
PHPのmb_encode_numericentityに相当します。

例)「entity_num」ボタンの変換

<div> → &#60;&#100;&#105;&#118;&#62;
@©-- → &#64;&#169;&#45;&#45;

「decode」ボタン

decode」ボタンは実体参照・文字参照の両方をデコードして文字に戻します。

例)「decode」ボタンの変換

&lt;div&gt; → <div>
&#60;&#100;&#105;&#118;&#62; → <div>
&#64;&#169;&#45;&#45; → @©--

以上3つのボタンを追加するプラグインです。
ビジュアルエディタとテキストエディタを移動してタグが勝手にエンティティ化されたり、ハイフンを2つ繋げた場合にエンダッシュになってしまう、というストレスを解消するために作成しました。

これでエンティティ文字の一覧とにらめっこする必要がなくなります。

エンティティ処理についてはこちらのサイトで詳しく解説されています。参考にどうぞ。

余談ですが、WordPressのプラグイン解説画面はreadme.txtファイルで作りますが、どのようにエンティティしても強制的に文字に変換されるようです。&lt; や &amp;lt; としても強制的に