[PHP-users 1486] Re: PHP4.0.4 での Fast Template
Osamu Shigematsu
php-users@php.gr.jp
Fri, 24 Aug 2001 13:48:24 +0900
重松です。こんにちは。
> php4 に対応した新しいバージョンなどは、存在するのでしょうか?
は、不明ですが、それほど大きなファイルでないので自分で直しました。
> 何かご存じの方、おられましたら、アドバイスいただければ幸いです。
> また、そのほか、マルチバイト文字で注意する点などありましたら、併せてお知らせ
> 下さい。(eregi? -> mberegi? にするとか)
ということで、結論から言えば、
<?php
$foo = "FOO";
print "{$foo}";
?>
の結果が php3 と php4 で異なることが原因でした。
php3 -> {FOO}
php4 -> FOO
となります。
私の場合、配列を表示するときとかに {} でくくってたんですが、もしかしたら
php4 でしか使えないのでしょうか?
<?php
$a[foo][bar] = "Hello, world!";
print "OK {$a[foo][bar]}<br>";
print "NG $a[foo][bar]";
?>
また、mbereg() を使うときには、{} がメタ文字のようですので、メタ文字の場合で
もそうでない場合でも動作するように、199 行目などを
$template = mbereg_replace("[{]".$key."[}]",$val,$template);
のように直してみました。これで、とりあえずは、動いているようです。
--
Osamu Shigematsu
http://www.ravi.ne.jp/
mailto:shige@ravi.ne.jp