2010年3月 2日

[PHP-users 35037]mb_ereg と preg_match の動作の違い

こんにちは。重松です。

$ 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 と切るにはどうすればいいんでしょうか?

よろしくお願いいたします。

--
Osamu Shigematsu

_______________________________________________
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:36
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/93799
トラックバック
コメント
コメントする




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