温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

php 正则对于中文汉字字符的提取

发布时间:2020-08-01 08:21:04 来源:网络 阅读:2349 作者:甲午致远 栏目:web开发

    正则是个好东西 正则不光可以对英语字符 特殊字符进行提取 对于中文字符 日语字符等等都可以提取 再也不要用(.*?)来匹配了 而且 也不准确!

    放在例子先:取出下面字符中的所有中文字符:

$str = "这%里是^测&试*中$心,欢.迎e你4的6到k来,我r们a呜呜呜we这y里w安安生生et一ef直在努力gr着找寻啊啊最佳gr的伙伴,希望您的$$%×××可以@推动他们GH团队高速发展!";
$code = "/[".chr(0xa1)."-".chr(0xff)."]+/";
preg_match_all($code,$str, $arr); //GB2312汉字字母数字下划线正则表达式
print_r($arr);

取出结果如下:

php 正则对于中文汉字字符的提取

需要注意的这个是GBK的

下面再给出一个utf8的案例:

if (preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', '×××')){
echo '全是汉字';
}else{
echo '不全是汉字';
}
// 打印出 "全是汉字"


if (preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', '中国 china')){
echo '全是汉字';
}else{
echo '不全是汉字';
}
//打印出"不全是汉字",

然后 再在网上找到这么一段代码 大家可以看看:

<?php
header('Content-type: text/html; charset=UTF-8');
$forasp="forasp.cn网站制作学习网www.forasp.cn正则获取中文php获取中文";
$cn = "/(cn|php)([x{4e00}-\x{9fa5}]*)/u";
preg_match_all($cn,$forasp,$return);
var_dump($return);
?>
array(3) {
  [0]=>
  array(3) {
    [0]=>
    string(23) "cn网站制作学习网"
    [1]=>
    string(20) "cn正则获取中文"
    [2]=>
    string(15) "php获取中文"
  }
  [1]=>
  array(3) {
    [0]=>
    string(2) "cn"
    [1]=>
    string(2) "cn"
    [2]=>
    string(3) "php"
  }
  [2]=>
  array(3) {
    [0]=>
    string(21) "网站制作学习网hidden_content$"
    [1]=>
    string(18) "正则获取中文"
    [2]=>
    string(12) "获取中文"
  }
}


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI