2010年3月 2日

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

はじめまして、石田です。
普段からpregしか使わないもので前半のは分からんのですが、
後半のは以下のようなコードでいけそうな気がします。

preg_match_all( '#\d+#', '<1,2,3>', $tmp ) && var_dump( $tmp[0] );

On Tue, 02 Mar 2010 18:36:54 +0900, <shige02@xxxxx> wrote:

> こんにちは。重松です。
>
> $ cat x.php
> <?php
>
> mb_internal_encoding('UTF-8');
>
> var_dump(mb_internal_encoding());
>
> $smk = '沙摩柯';
> $smk2 = '沙摩柯しゃまかあいうえお';
>
> var_dump(preg_match("/$smk/", $smk2));
>
> var_dump(mb_ereg($smk, $smk2));
>
> ?>
>
> で、
>
> $ php x.php
> string(5) "UTF-8"
> int(1)
> bool(false)
>
> という風に、preg_match は期待通り、mb_ereg が期待と異なる動作をします。
> 念のため、
> $ nkf -w --overwrite x.php
> として見ましたが、結果は同じ。
> 何か勘違いしているのでしょうか?
>
> Mac OS X 10.6.2 です。
> $ php -v
> PHP 5.3.0 (cli) (built: Jul 19 2009 00:34:29)
> Copyright (c) 1997-2009 The PHP Group
> Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
> それと、'<1,2,3>' から 1 2 3
> それぞれが入った配列にしたいのですが、split('<1,2,3>', '[<>,]')
> だと、頭と最後に空の余計なものが入ってしまうわけですが、一発で、1 2 3
> と切るにはどうすればいいんでしょうか?
>
> よろしくお願いいたします。
>
_______________________________________________
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日 18:52
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/93800
トラックバック
コメント
コメントする




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