最近看到一段代码:
<?php$str = '你好,世界dd';preg_match_all('/./us', $str, $match);echo count($match[0])."<br />"; ?>
u :unicode 的缩写,表示待匹配的串是一个符合 unicode 编码规则的串,比如 utf-8 编码的串
在 u 修饰符下,一个汉字被当做一个字符被处理。\w 有原来的 [_0-9A-Za-z] 扩展到汉字
\w 由原来的 [_0-9A-Za-z] 扩展到汉字,
\w是匹配任意一个数字、字母、下划线的,扩展到汉字是什么意思?
$s = '汉字abc';preg_match_all('/\w/', $s, $r); //没有 u 修饰print_r($r);
$s = '汉字abc';preg_match_all('/\w/u', $s, $r); //有 u 修饰print_r($r);
$s = '汉字abc';preg_match_all('/\w/', $s, $r); //没有 u 修饰print_r($r);
$s = '汉字abc';preg_match_all('/\w/u', $s, $r); //有 u 修饰print_r($r);
感谢版主,明白了……