试了几个,都不行啊,还出现一个警告
Warning: preg_match() [function.preg-match]: Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 3我用的是:/^[\u4e00-\u9fa5]+$/';
中文的匹配表达式该如何书写?还望各位老大帮助!
Warning: preg_match() [function.preg-match]: Compilation failed: PCRE does not support \L, \l, \N, \U, or \u at offset 3我用的是:/^[\u4e00-\u9fa5]+$/';
中文的匹配表达式该如何书写?还望各位老大帮助!
<?PHP
echo preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/","123")?"<br>纯中文":"<br>非纯中文";
echo preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/","啊aaa")?"<br>纯中文":"<br>非纯中文";
echo preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/","啊啊")?"<br>纯中文":"<br>非纯中文";
?>
如果你的文件是gb2312的,用/[\xa0-\xff]{2}/
如果是utf8的,用/[\xe0-\xef][\x80-\xbf]{2}/
function pre_trim($content)
{
return preg_replace('/[^\x00-\x7F]+/','',stripslashes($content));
}echo $content;
exit;用我以前写的这个;改改就可以了;呵呵;
$strb = '私は音楽が上手です '; //判断为 other$pat = "/^[\x80-\xff_a-zA-Z0-9]+$/";
if( preg_match($pat,$stra) )
echo 'chinese ...';
else
echo 'other ... ';
//由此看来, 要切词之后一个个来匹配, 才分辨出是否纯中文,纯日文
if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {
print("全中文");
} else {
print("部分中文");
}
估计你的PHP文件是ansi编码的,最好在IDE里进行默认设置,设置为UTF-8,这样有利于移植