[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 メーリングリストの案内