php中文的正则
㈠ php的正则表达式中使用中文(并匹配中文)的问题,原串为UTF8
<?php
$str = "中国势力是(烟消云散、再转在、匣介)中国、类别置顶帖(来哦见好就收)、炒肉可示、需要城";
$preg2 = "/中国/sim" ;
preg_match_all($preg2, $str, $strResult, PREG_PATTERN_ORDER);
print_r($strResult);
?>
我的PHP文件是UTF-8编码,不知道你的$str是从哪里得到的呢?像上面一样,我直接给$str赋值,这样使用 /中国/sim 这个表达式没有任何问题,会不会是你$str字符串的编码与页面编码不一致呢?
㈡ php正则表达式匹配一段中文,中间有换行,空白,应该怎么写
有多种处理方法:
1、使用[sS]匹配任意字符,而不是使用“.”
2、使用s单行修饰模式,例:$pattern='#abc.*?def#s';//能匹配abc换行def
3、使用s*匹配换行和空格,php里s能匹配空白字符,含换行
php里的中文使用[x7f-xff]表示,因此,使用正则:
$pattern='#[x7f-xff]+(?:s*[x7f-xff]+)*#';即可
㈢ php匹配中文的正则怎么写
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<?php
function checkSafeask($safeask){
if(preg_match_all("/^([\x81-\xfe][\x40-\xfe])+$/",$safeask,$match)){
if(strlen($safeask)>50){
echo"您输入的问题超出了25个汉字,请您重新填写!!!";
}else{
echo $safeask;
return true;
}
}else{
echo "您输入的问题不全是汉字,请您重新填写!!!";
}
}
checkSafeask("汉字")
?>
㈣ php正则判断字符串是否含有中文
functionchk_cn($str){
if(preg_match('|[x{4e00}-x{9fa5}]+?|u',$str)){
returntrue;
}
returnfalse;
}
调用这个 函数,返回true则是含有中文,false则无中文。
另外,x{4e00}-x{9fa5} 这个范围我也不太确定是不是包含所有的中文范围,没有认真研究它的取值范围。
㈤ PHP正则匹配中文
在PHP里,包含数字、字母、下划线或中文的正则表达式如下:$pattern = "/[0-9a-zA-Z_\x80-\ff]+/";
㈥ PHP中文正则表达式
preg_replace("/[^a-z\(0-9\)\x4e00-\x9fa5]+/ig", "", $data);
但你要保证输入的中文是Unicode, 不是全角的gb2312; 否则不能成功
㈦ PHP正则提取中文部分内容,怎么实现呀
中文可以用正则表达式进行匹配,但是具体匹配方法与中文的编码方式有关:
如果是GBK(GB2312、GB1080),那么中文的编码范围是:
x80-xff
如果是UTF-8编码,那么中文的编码范围是:
u4e00-u9fa5
那么匹配汉字的正则表达式可以是:
/[x7f-xff]+/
或者
/[u4e00-u9fa5]+/
例子代码,显示文件中的所有汉字(GBK编码):
<?php
$s=file_get_contents('1.txt');
if(preg_match_all('/[x7f-xff]+/',$s,$r)){
for($i=1;$i<count($r[0]);$i++)echo"$i ".$r[0][$i]." ";
}
?>
㈧ php怎么将中文利用正则表达式匹配出来
正则匹配中文汉字根据页面编码不同而略有区别:
GBK/GB2312编码:[x80-xff]+ 或 [xa1-xff]+
UTF-8编码:[x{4e00}-x{9fa5}]+/u
$str="账单123";
//GBK/GB2312使用:
preg_match_all("/[x80-xff]+/",$str,$chinese);
//UTF-8使用:
//preg_match_all("/[x{4e00}-x{9fa5}]+/u",$str,$chinese);
print_r($chinese);
阁下所说的乱码应该就是编码没弄对了
㈨ php中如何用正则表达式匹配中文字符呢
php中匹配一个或多个中文字符(包含简体和繁体中文字符)的正则表达式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正则表达式的16进制是以
\x
开头的。
㈩ 给出一个中文汉字的PHP正则的判断要求测试运行正确后再帖出。
匹配GB2312汉字的php正则表达式:([xb0-xf7][xa0-xfe])+
我给你个PHP程序的例子,你看看吧.
<?php
$str="这是二三一二汉字";
$str=iconv("utf-8","gb2312//IGNORE",$str);
if(preg_match("/([xb0-xf7][xa0-xfe])+/",$str)){
print_r("这是GB2312汉字");
}else{
print_r("这不是GB2312汉字");
}
?>
运行结果:
这是GB2312汉字