当前位置:首页 » 编程语言 » php匹配中文

php匹配中文

发布时间: 2022-02-17 14:07:52

A. php匹配特定的中文字符串

<?php
$str = "[尺码参考]均码 适合身高:155-175cm/胸围:70-90cm/腰围:65-75cm/臀围:80-93cm[厚度指数]稍薄";
//需要匹配到[尺码参考]和[厚度指数]之间的中文字符串
if (preg_match('|\[尺码参考\](.*?)\[厚度指数\]|',$str,$reg)) echo "匹配内容:".$reg[1];
?>

输出结果:
匹配内容:均码 适合身高:155-175cm/胸围:70-90cm/腰围:65-75cm/臀围:80-93cm

是你需要的吗?

B. 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字符串的编码与页面编码不一致呢?

C. 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 '没有中文字符串。';
}

D. PHP正则匹配出汉字

html源码中有两个“知道”,一个是标题,一个链接
我的理解,是连接里的

用(?<=<a[^>]+>)(?=(知[\w&;]+|道[\w&;]*)?</a>)(知[\w&;]+|道[\w&;]*)?
得到的结果是:
知 道 (中间有&-n-b-s-p;)
对这个结果,再用一次replace("",“[^\\u4e00-\\u9fa5]+”,"");就可以得到知道了。
这个我无法一次得到。
我不会php哦,不能写php代码了。也不知道对楼主的意思理解的对不。要是有问题,请楼主再描述一下。

E. php 正则匹配 两端中文之间内容

用下面的代码试试:
preg_match_all('/<a[^>]+href=\"([^\"]+)\"[^>]*>/', $content, $matches);
print_r($matches);

注意:
$matches[0] 是整个正则表达式匹配的内容;
$matches[1] 就是括号里面匹配的内容,也就是你要的链接。

F. 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);

阁下所说的乱码应该就是编码没弄对了

G. php中如何用正则表达式匹配中文字符呢

php中匹配一个或多个中文字符(包含简体和繁体中文字符)的正则表达式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正则表达式的16进制是以
\x
开头的。

H. PHP preg_match 函数怎么匹配中文

<?php
//示例代码:

$str='hello这里是phppreg_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'没有中文字符串。';
}

?>

I. 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]." ";
}
?>

J. 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("汉字")
?>

热点内容
怎么清除路由器缓存 发布:2025-01-07 08:19:52 浏览:674
密码锁触屏不灵了一般是什么原因 发布:2025-01-07 08:19:10 浏览:629
光之护剑密码是多少 发布:2025-01-07 08:19:03 浏览:354
陌生性ftp 发布:2025-01-07 08:18:58 浏览:501
android监听home 发布:2025-01-07 08:18:25 浏览:684
荣放哪个配置的脱困能力强 发布:2025-01-07 08:07:30 浏览:51
剑灵灵爆脚本会不会封号 发布:2025-01-07 08:00:57 浏览:343
加工中心铣平面编程 发布:2025-01-07 07:53:32 浏览:592
在c语言编译器编辑程序视频 发布:2025-01-07 07:33:22 浏览:284
不卡顿机顶盒需什么配置 发布:2025-01-07 07:33:19 浏览:778