正确的PHP匹配UTF-8中文的正则表达式
我以前一直用这个
preg_match('~[\x7f-\xff]+~is', $string, $tmp);
今天才发现,上面这个也会匹配到一些欧洲国家的字符
应该用下面这个,注意修正符 u
preg_match('~[\x{4e00}-\x{9fa5}]+~u', $string, $tmp);
相关推荐
-
关于php正则匹配汉字的方法介绍
php正则匹配汉字! /^[\x{4e00}-\x{9fa5}]+$/u 以上这个正则表达式就是困扰了很多php程序员的匹配汉字的正则表达式 大家可能会觉得很简单,实际上不同编码,不同程序语言,都有些细微的出入,稍不注意就得不到正确的结果. 下面是utf-8编码的例子:$str = "汉字";if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {print("该字符串全部是中文");} else {
-
php匹配网址的正则 几乎可以匹配任何网址
比较简单的 $str = ''; $isMatched = preg_match('/^^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+$/', $str, $matches); var_dump($isMatched, $matches); 几乎可以匹配任何网址: ^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\..])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int
-
PHP正则匹配中英文、数字及下划线的方法【用户名验证】 原创
本文实例讲述了PHP正则匹配中英文.数字及下划线的方法.分享给大家供大家参考,具体如下: 一.问题: 对于用户注册时的用户名要求由中英文.数字或下划线组成,不得含有其他字符. 二.解决方法: 针对输入字符进行中英文.数字及下划线的正则验证即可. 代码如下: $username='我们jb51.net@#--^&*'; $preg='/[\w\x{4e00}-\x{9fa5}]+/u'; //$preg='/[\x80-\xff_\w]+/u'; preg_match($preg,$usernam
-
php与javascript正则匹配中文的方法分析
本文实例讲述了php与javascript正则匹配中文的方法.分享给大家供大家参考,具体如下: php中正则匹配utf-8中文: (重点是:[\x{4e00}-\x{9fa5}]+) $str = "我们"; if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str,$arr)) { print("该字符串全部是中文"); echo '<pre>'; print_r($arr); } else {
-
php用正则表达式匹配URL的简单方法
在PHP的官网上看到的parse_url()函数的替代方案.结果和parse_url()函数差不多,是使用正则实现的.URI 是 Web上可用的每种资源 - HTML文档.图像.视频片段.程序等 - 由一个通用资源标志符(Uniform Resource Identifier, 简称"URI")进行定位. 对象分组: 复制代码 代码如下: ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?12 3
-
php正则表达匹配中文问题分析小结
复制代码 代码如下: $str = '中华人民共和国123456789abcdefg'; echo preg_match("/^[u4e00-u9fa5_a-zA-Z0-9]{3,15}$",$strName); 运行一下上面这段代码,看会有什么提示信息? Warning: preg_match(): Compilation failed: PCRE does not support L, l, N, P, p, U, u, or X at offset 3 in F:wwwrootp
-
PHP正则匹配图片并给图片加链接详解
正则: 复制代码 代码如下: $newstext=preg_replace(preg_replace('/(<img[^>]+src\s*=\s*"?([^>"\s]+)"?[^>]*>)/im', '<a href="$2″>$1</a>', $newstext); 解说: 1.preg_replace和str_replace的区别: str_replace只是纯字符替换,而preg_replace才是正则替换
-
php正则匹配文章中的远程图片地址并下载图片至本地
使用php的正则表达式来实现: $content = '这里是文章内容,这里插入一张图片测试 <img src="XXXXXXXXXXXXXXXXXXXX">'; $content = stripslashes ( $content ); $img_array = array (); // 匹配所有远程图片 preg_match_all ( "/(src|SRC)=["|'| ]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png
-
正则匹配密码只能是数字和字母组合字符串功能【php与js实现】
本文实例讲述了正则匹配密码只能是数字和字母组合字符串功能.分享给大家供大家参考,具体如下: 密码要求: 1. 不能全部是数字 2. 不能全部是字母 3. 必须是数字和字母组合 4. 不包含特殊字符 5. 密码长度6-30位的字符串 /** * @desc get_pwd_strength()im:根据密码字符串判断密码结构 * @param (string)$mobile * return 返回:$msg */ function get_pwd_strength($pwd){ if (strle
-
PHP匹配连续的数字或字母的正则表达式
正则表达式的写法规则:"/规则需要写在2个斜杠中间/". (. :小数点)用于匹配除换行符之外的所有字符. (\s:反斜杠小写s)用于匹配单个空格符,包括tab键和换行符: (\S:反斜杠大写S)用于匹配除单个空格符之外的所有字符: (\d:反斜杠d)用于匹配从0到9的数字:也可以这样写:[0-9] (\w:反斜杠小写w)用于匹配字母,数字或下划线字符: (\W:反斜杠大写W)用于匹配所有与\w不匹配的字符: 元字符包括: +, *,? 元字符理解起来容易混淆,所以我在后面做了代码结果
-
php用正则表达式匹配中文实例详解
在php中汉字正则可能有些朋友觉得很简单,但是在使用时会发现在gbk编码与uft8编码可能会有点区别哦,下面小编来介绍一下.gbk编码下汉字正则 1.判断字符串是否全是汉字 复制代码 代码如下: <?php $str = '全部是汉字测试'; if (preg_match_all("/^([x81-xfe][x40-xfe])+$/", $str, $match)) { echo '全部是汉字'; } else { echo '不
-
php正则表达式中的非贪婪模式匹配
一般情况下,正则表达式的匹配是贪婪模式的,比如下面这个例子: 字符串:....src="http://www.bloghome.cn/1.mp3" type="application/x-mplayer2" .... 要求的结果:http://www.bloghome.cn/1.mp3 如果匹配表达式写为:/src="(.*)"/,则得不到正确的结果,因为最后一个双引号的匹配是贪婪模式的. 解决办法:匹配表达式写为: /src="(.*
随机推荐
- golang中defer的使用规则详解
- 实现表格中行点击时的渐扩效果!
- Linux 下目录文件权限(命令)的查看和修改
- Python中用post、get方式提交数据的方法示例
- 详解VMware12安装Mac OS X 10.11(图文步骤)
- php 启动报错如何解决
- PHP环境搭建(php+Apache+mysql)
- 从零学习node.js之利用express搭建简易论坛(七)
- js数据向上翻滚_数据滚动
- jquery 倒计时效果实现秒杀思路
- MySQL 统计查询实现代码
- js实现仿京东2级菜单效果(带延时功能)
- 永不消失的title提示代码
- nginx与apache限制ip并发访问 限制ip连接的设置方法
- C++连接mysql的方法(直接调用C-API)
- Android实现手机摄像头的自动对焦
- Android中Parcel用法详解
- JavaScript中的slice()方法使用详解
- flask + pymysql操作Mysql数据库的实例
- spring cloud中启动Eureka Server的方法