自动摘要
正在生成中……
Han unification 可以理解 CJK
字符, 而且 Unicode categories 是使用 \p
开始的, 因此可使用 \p{Han}
匹配中文字符,下面的例子为匹配普通字符与中文,不包含空格。
<?php
$str = "小明ahmeng";
$regex = '/^[-_A-Za-z0-9\p{Han}]+$/u'; // notice spaces are not included
if (preg_match( $regex, $str)) {
echo "valid";
} else {
echo "invalid";
}
?>
DEMO
同时,在处理UTF-8编码字符时,记得带上 /u 修饰符
再来一例:
//split chinese
function split_ch( $title ) {
return preg_replace("/\p{Han}+/u",'<span class="zh">$0</span>',$title);
}
echo split_ch('hello中文'); // Output: hello<span class="zh">中文</span>