2010年3月 2日

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

石田です。

あまり深く考えてはいないのですが、以下のような感じでどうでしょう?

preg_match_all( "#'(.*?)'#",
"f('ゆぴ','-','(-11,-425)','ゆぴ','★','12.73','1','0','0','0','')", $tmp )
&& var_dump( $tmp[1] );

パターンをいくつか通して、調整はしなきゃ駄目でしょうが。


On Tue, 02 Mar 2010 19:32:22 +0900, <shige02@xxxxx> wrote:

> 石田さん、ミワさん、ありがとうございます。
>
> 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@xxxxx 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@xxxxx
>> http://ml.php.gr.jp/mailman/listinfo/php-users
>> PHP初心者のためのページ - 質問する前にはこちらをお読みください
>> http://oldwww.php.gr.jp/php/novice.php3
>


--
Opera の革新的メールクライアント: http://jp.opera.com/mail/
_______________________________________________
PHP-users mailing list PHP-users@xxxxx
http://ml.php.gr.jp/mailman/listinfo/php-users
PHP初心者のためのページ - 質問する前にはこちらをお読みください
http://oldwww.php.gr.jp/php/novice.php3


投稿者 xml-rpc : 2010年3月 2日 19:46
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/93803
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。