&→&への変換が正しく行なわれない場合がある。
&hoge;&hoge;
変換されないのは &半角英数文字; の場合だけで、&半角英数文字 だけで ;が付かない場合は正しく出力される。
&hoge&hoge
-'&(#[0-9]+|#x[0-9a-f]+|[0-9a-zA-Z]+);' => '&$1;', +'&(#[0-9]+|#x[0-9a-f]+);' => '&$1;',
(?:A(?:Elig|acute|circ|grave|lpha|ring|tilde|uml)|Beta|C(?:cedil|hi)|D(?:agger|e lta)|E(?:TH|acute|circ|grave|psilon|ta|uml)|Gamma|I(?:acute|circ|grave|ota|uml)| Kappa|Lambda|Mu|N(?:tilde|u)|O(?:Elig|acute|circ|grave|m(?:ega|icron)|slash|tild e|uml)|P(?:hi|i|rime|si)|Rho|S(?:caron|igma)|T(?:HORN|au|heta)|U(?:acute|circ|gr ave|psilon|uml)|Xi|Y(?:acute|uml)|Zeta|a(?:acute|c(?:irc|ute)|elig|grave|l(?:efs ym|pha)|mp|n(?:d|g)|pos|ring|symp|tilde|uml)|b(?:dquo|eta|rvbar|ull)|c(?:ap|cedi l|e(?:dil|nt)|hi|irc|lubs|o(?:ng|py)|rarr|u(?:p|rren))|d(?:Arr|a(?:gger|rr)|e(?: g|lta)|i(?:ams|vide))|e(?:acute|circ|grave|m(?:pty|sp)|nsp|psilon|quiv|t(?:a|h)| u(?:ml|ro)|xist)|f(?:nof|orall|ra(?:c(?:1(?:2|4)|34)|sl))|g(?:amma|e|t)|h(?:Arr| arr|e(?:arts|llip))|i(?:acute|circ|excl|grave|mage|n(?:fin|t)|ota|quest|sin|uml) |kappa|l(?:Arr|a(?:mbda|ng|quo|rr)|ceil|dquo|e|floor|o(?:wast|z)|rm|s(?:aquo|quo )|t)|m(?:acr|dash|i(?:cro|ddot|nus)|u)|n(?:abla|bsp|dash|e|i|ot(?:in)?|sub|tilde |u)|o(?:acute|circ|elig|grave|line|m(?:ega|icron)|plus|r(?:d(?:f|m))?|slash|ti(? :lde|mes)|uml)|p(?:ar(?:a|t)|er(?:mil|p)|hi|i(?:v)?|lusmn|ound|r(?:ime|o(?:d|p)) |si)|quot|r(?:Arr|a(?:dic|ng|quo|rr)|ceil|dquo|e(?:al|g)|floor|ho|lm|s(?:aquo|qu o))|s(?:bquo|caron|dot|ect|hy|i(?:gma(?:f)?|m)|pades|u(?:b(?:e)?|m|p(?:1|2|3|e)? )|zlig)|t(?:au|h(?:e(?:re4|ta(?:sym)?)|insp|orn)|i(?:lde|mes)|rade)|u(?:Arr|a(?: cute|rr)|circ|grave|ml|psi(?:h|lon)|uml)|weierp|xi|y(?:acute|en|uml)|z(?:eta|w(? :j|nj)))
(?:A(?:Elig|acute|circ|grave|ring|tilde|uml)|Ccedil|E(?:TH|acute|circ|grave|uml) |I(?:acute|circ|grave|uml)|Ntilde|O(?:acute|circ|grave|slash|tilde|uml)|THORN|U( ?:acute|circ|grave|uml)|Yacute|a(?:acute|c(?:irc|ute)|elig|grave|mp|ring|tilde|u ml)|brvbar|c(?:cedil|e(?:dil|nt)|opy|urren)|d(?:eg|ivide)|e(?:acute|circ|grave|t h|uml)|frac(?:1(?:2|4)|34)|gt|i(?:acute|circ|excl|grave|quest|uml)|l(?:aquo|t)|m (?:acr|i(?:cro|ddot))|n(?:bsp|ot|tilde)|o(?:acute|circ|grave|rd(?:f|m)|slash|til de|uml)|p(?:ara|lusmn|ound)|quot|r(?:aquo|eg)|s(?:ect|hy|up(?:1|2|3)|zlig)|t(?:h orn|imes)|u(?:acute|circ|grave|ml|uml)|y(?:acute|en|uml))
"&" => "&", //全角&を半角表示に
この場合、©と入力したものも©になってしまいます。ユーザー定義のあとでチェックが入るんですねぇ。うーん…困ったなあ。