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

shige02 @ mac.com shige02 @ mac.com
2010年 3月 2日 (火) 19:32:22 JST


石田さん、ミワさん、ありがとうございます。

mb_regex_encoding も指定しないといけなかったんですね。
今回原因が分からなくて、preg で凌いだんですが、コードを書くのは久しぶりで、見落としていました。

データの中には、 ,, という風に空がありまして、PREG_SPLIT_NO_EMPTY だと、それが欠落してしまいます。
具体的なデータは、JavaScript の関数呼びだし部分で、実際には、

f('ゆぴ','-','(-11,-425)','ゆぴ','★','12.73','1','0','0','0','');

のような構成になっていてます。

/^.+?\('|','|'\);.+$/ で切っています。

'' の中に、'自身がはいることはありません。


On Mar 2, 2010, at 6:55 PM, Eiji Miwa wrote:

> 
>  ミワです。
> 
> On 2010/03/02, at 18:36, shige02 @ mac.com wrote:
>> 
>> という風に、preg_match は期待通り、mb_ereg が期待と異なる動作をします。
> 
>  mb_regex_encoding('UTF-8') としてやるとよいです。
>  http://www.php.net/manual/ja/function.mb-regex-encoding.php
> 
>  split はこんな感じで。
>  var_dump(preg_split('/[<,>]/', '<1,2,3>', 0, PREG_SPLIT_NO_EMPTY));
> 
> --
>  miwa at offside.ne.jp
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3

-- 
Osamu Shigematsu



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