[PHP-users 35045] Re: mb_ereg と preg_match の動作の違い

Eiji Miwa miwa @ offside.ne.jp
2010年 3月 3日 (水) 12:28:18 JST


On 2010/03/02, at 21:34, shige02 @ mac.com wrote:
> 
> $js = "('ゆぴ','-','(-11,-425)');";
> eval("\$x = array$js"); // NG
> var_dump($x);
> 
> ってやると、サクリと取れました。
> これだと、\' とかのことも考えなくていいですね。
> まあ、eval の中に、おかしなものを突っ込まれる危険性はありますが。

 それはちょっと怖いなあ。
 そういうことなら、str_getcsv を使うといいですよ。

 $line="f('ゆぴ','-','(-11,-425)','ゆぴ','★','12.73','1','0','0','0','');";
 var_dump(str_getcsv(preg_replace("/f\((.*)\);/sD", '$1', $line),',', "'"));

--
 miwa at offside.ne.jp



PHP-users メーリングリストの案内