[PHP-users 26270] Re: parse_ini_file関数について
Tadashi Jokagi
ml @ elf.no-ip.org
2005年 7月 22日 (金) 14:01:23 JST
ぢょ〜@よくきたなです.
最終的に? たどり着く zend_ini_scanner.l では文字列は下記のように
定義されているようです.
<INITIAL>["][^\n\r"]*["] {
/* ENCAPSULATED TC_STRING */
<INITIAL>[^=\n\r\t;|&~()!"]+ {
/* STRING */
「"」で始まるときは前者になると思うんですが,間に「"」をエスケープ
する手段がないので今のところダメっぽいですね.自分でビルドしてませ
んが,
<INITIAL>["][^\n\r"]*["] {
/* ENCAPSULATED TC_STRING */
(snip)
ini_lval->type = IS_STRING;
return TC_ENCAPSULATED_STRING;
}
を
<INITIAL>['][^\n\r']*['] {
/* ENCAPSULATED TC_STRING */
(snip)
ini_lval->type = IS_STRING;
return TC_ENCAPSULATED_STRING;
}
みたいにしたら
foo = 'foo foo " foo foo'
とかは出来るかもしれません.ただしこれも「'」で始まると次の「'」ま
でということなので,
foo = 'foo foo ' foo foo'
はできませんが.
--
----.----1----.----2----.----3----.----4----.----5----.----6----.----7
Tadashi Jokagi/Shibuya city mailto:elf @ elf.no-ip.org
YokukitanaII http://elf.no-ip.org/
Yokukita blog http://blog.poyo.jp/
Yokukita wiki http://wiki.poyo.jp/
PHP-users メーリングリストの案内