[PHP-users 35037] mb_ereg と preg_match の動作の違い
shige02 @ mac.com
shige02 @ mac.com
2010年 3月 2日 (火) 18:36:54 JST
こんにちは。重松です。
$ 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 メーリングリストの案内