本文目录一览:
- 1、PHP preg_match 函数怎么匹配中文?
- 2、php中如何用正则表达式匹配中文字符呢?
- 3、PHP正则表达式中怎么匹配汉字啊 - 技术问答
- 4、php正则表达式匹配一段中文,中间有换行,空白,应该怎么写
- 5、PHP正则匹配出汉字
- 6、php正则匹配中文乱码问题
PHP preg_match 函数怎么匹配中文?
?php
//示例代码:
$str = 'hello 这里是php preg_match正则匹配演示';
// UTF8编码:正则表达式匹配中文;
if(preg_match('/[\x{4e00}-\x{9fa5}]+/u',$str)){
echo '匹配成功,有中文字符串!';
}else{
echo '没有中文字符串。';
}
// GB2312,GBK编码:正则表达式匹配中文;
if(preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)){
echo '匹配成功,有中文字符串!';
}else{
echo '没有中文字符串。';
}
?
php中如何用正则表达式匹配中文字符呢?
php中匹配一个或多个中文字符(包含简体和繁体中文字符)的正则表达式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正则表达式的16进制是以
\x
开头的。
PHP正则表达式中怎么匹配汉字啊 - 技术问答
匹配中文字符的正则表达式:
[\\u4e00-\\u9fa5]匹配双字节字符(包括汉字在内):[^\\x00-\\xff]应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)String.prototype.len=function(){return
this.replace([^\\x00-\\xff]/g,\"aa\").length;}匹配空行的正则表达式:\\n[\\s|
]*\\r匹配HTML标记的正则表达式:/.*|/匹配首尾空格的正则表达式:(^\\s*)|(\\s*$)
php正则表达式匹配一段中文,中间有换行,空白,应该怎么写
有多种处理方法:
1、使用[\s\S]匹配任意字符,而不是使用“.”
2、使用s单行修饰模式,例:$pattern = '#abc.*?def#s'; //能匹配abc换行def
3、使用\s*匹配换行和空格,php里\s能匹配空白字符,含换行
php里的中文使用 [\x7f-\xff]表示,因此,使用正则:
$pattern = '#[\x7f-\xff]+(?:\s*[\x7f-\xff]+)*#'; 即可
PHP正则匹配出汉字
html源码中有两个“知道”,一个是标题,一个链接
我的理解,是连接里的
用(?=a[^]+)(?=(知[\w;]+|道[\w;]*)?/a)(知[\w;]+|道[\w;]*)?
得到的结果是:
知 道 (中间有-n-b-s-p;)
对这个结果,再用一次replace("",“[^\\u4e00-\\u9fa5]+”,"");就可以得到知道了。
这个我无法一次得到。
我不会php哦,不能写php代码了。也不知道对楼主的意思理解的对不。要是有问题,请楼主再描述一下。
php正则匹配中文乱码问题
当然乱码啦,一个汉字在php里是三个字符,你这样直接用.去匹配任意字符的话,三个.才等于一个汉字。你把一个汉字给截取掉了,当然乱码了,不信你把你的0,10改成0,11。就不乱码的,而且只匹配出两个汉字。汉字不是这样去匹配的,有专门匹配汉字的正则,