php中正则匹配中文汉字
发布:smiling 来源: PHP粉丝网 添加日期:2014-03-12 14:59:55 浏览: 评论:0
在php中如果你想正则来获取字符串中汉字我们先需要知道页面编码,正则匹配中文汉字根据页面编码不同而略有区别:GBK/GB2312编码:[x80-xff>]+ 或 [xa1-xff]+ 而UTF-8编码:[x{4e00}-x{9fa5}]+/u .
实例代码如下:
- echo (mb_eregi("[x80-xff].","中d文") ? "有" : "无") ."汉字";
- echo (mb_eregi("^([x80-xff].)+$","中文") ? "全是汉字" : ""); 看一判断全中文字符串函数
以下以PHP为例进行匹配:
实例代码如下:
- <?php
- $str = "学习php是一件快乐的事.";
- preg_match_all("/[x80-xff]+/", $str, $match);
- //UTF-8 使用:
- //preg_match_all("/[x{4e00}-x{9fa5}]+/u", $str, $match);
- print_r($match);
- ?>
输出:
- Array
- (
- [0] => Array
- (
- [0] => 学习
- [1] => 是一件快乐的事.
- )
- )
正则汉字实例代码如下:
- $str = "请问php中的eregi如何匹配汉字";
- if (preg_match("/^[".chr(0x80)."-".chr(0xff)."]+$/",$str)) {
- echo "这是一个纯中文字符串";
- } else{
- echo "这不是一个纯中文字串";
- }
- preg_match_all($pat,……)与preg_replace($pat,……)……
- preg_match_all("/(汉字)+/ism","我是汉字,看你把我怎么着!",$m_a);
各个编码的高位与低位的开始与结束,那么自然就可以写出正则,而且直接是十六位的,有啥困难?呵呵.不过要注意,在php里面,表示十六位是用的x,我们还可以用该正则表达式来判断是否是gb2312的汉字
实例代码如下:
- <?php
- $str = "小小子";
- if(preg_match("/^[xb0-xf7][xa0-xfe]+$/",$str)){
- print($str."确实全是汉字");
- } else {
- print($str."这个真tc不全是汉字");
- }
- ?>
Tags: mb_eregi preg_match_all
- 上一篇:PHP中正则表达式模式修饰符详解
- 下一篇:php检查是否为一个合法的时间格式正则
相关文章
- ·php正则连接中文本程序(2013-11-12)
- ·php 验证手机号码与电话号码正则(2013-11-12)
- ·php验证用户名是否以字母开头与验证密码(2013-11-13)
- ·PHP常用正则表达式汇总(2013-11-13)
- ·三分钟学会PHP正则表达式(2013-11-13)
- ·巧用PHP正则表达式判断IP地址(2013-11-13)
- ·如何用正则表达式来表示中文?(2013-11-27)
- ·php正则匹配gb2312和utf-8中文(2013-11-29)
- ·php 判断中英文字符(2013-11-29)
- ·PHP字符串正则替换函数preg_replace(2013-11-29)
- ·php正则表达匹配中文问题分析(2013-11-30)
- ·php中preg_match长字符串匹配失败问题解决(2013-12-02)
- ·preg_match正则匹配提示pcre.backtrack_limit(2013-12-02)
- ·常用的php正则表达式收集(2013-12-03)
- ·preg_match正则匹配的字符串(2013-12-03)
- ·php错误提示:Deprecated: Function eregi() is deprecated(2013-12-04)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)