[Fswiki-dev] Re: Template.pm への多言語対応の修正について

Back to archive index

KG kg_soft****@yahoo*****
2006年 10月 18日 (水) 17:19:07 JST


KG です。

On Wed, 18 Oct 2006 14:37:01 +0900
"Naoki Takezoe" <takez****@gmail*****> wrote:

> 竹添です。
> 
> 06/10/17 に KG<kg_soft****@yahoo*****> さんは書きました:
> > KGです。
> >
> > 表題の件ですが、ちょっとまずい事がわかりました。
> > もしかしたら以前は、それに気づいて対応を外したのかも知れませんが・・・
> >
> >
> >          # straight from the CGI.pm bible.
> >          s/&/&/g;
> > +        s/&#([0-9]{1,5});/&#$1;/g;
> > +        s/&([a-zA-Z0-9]{2,8});/&$1;/g;
> >          s/\"/"/g; #"
> >          s/>/>/g;
> >          s/</</g;
> >
> > この修正箇所の、下段の分は追加しない方が良さそうです。
> > &, <, > などの実体参照が全て変換されて編集画面に表示される為
> > 編集時のソースと保存後のソースに差異が発生されてしまいます。
> 
> 上の行でも"、&、<、>などを数値文字参照で入力するとおかしなことに
> なりそうな気がします。文字参照を展開するのであればマークアップ記号
> だけ特別扱いするようにしたほうがいいのかもしれません。


&#0;(null) &#9;(tab) &#10;(lf) &#13;(cr) &#38;(&) &#60;(<) &#62;(>)
の7つ位でしょうか?

         # straight from the CGI.pm bible.
         s/&/&amp;/g;
+        s/&amp;#([0-9]{1,5});/&#$1;/g;
+        s/&#(0*(0|9|10|13|38|60|62));/&amp;#$1;/g;
         s/\"/&quot;/g; #"
         s/>/&gt;/g;
         s/</&lt;/g;

上記コードでテストしてとりあえず動作確認しましたが
こんなんで良いのかな?・・・変換回数を減らしたいですね。

実態参照の方はなくても良さげかな。
-- 
KG <kg_soft****@yahoo*****>
http://kgsoft.jf.land.to/


--------------------------------------
Start Yahoo! Auction now! Check out the cool campaign
http://pr.mail.yahoo.co.jp/auction/



Fswiki-dev メーリングリストの案内
Back to archive index