网址中带有中文字符的php正则表达式

作者&投稿:御包 (若有异议请与网页底部的电邮联系)
php中如何用正则表达式匹配中文字符呢?~

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

判断是否有中文。
if (preg_match("/[\x7f-\xff]/", $string)) { echo "true"; }else{ echo "false"; }判断是否全部是中文
//if (preg_match("/^[".chr(0xa1)."-".chr(0xff)."]+$/", $str)) { //只能在GB2312情况下使用 if (preg_match("/^[\x7f-\xff]+$/", $str)) { //兼容gb2312,utf-8
echo "true";
} else {
echo "false";
}
判断中文和编码有关 gbk是双字节,utf8是三字节,可以根据中文的范围来判断
编码范围1. GBK (GB2312/GB18030)
/x00-/xff GBK双字节编码范围
/x20-/x7f ASCII
/xa1-/xff 中文
/x80-/xff 中文
2. UTF-8 (Unicode)
/一-/龥 (中文)
/x3130-/x318F (韩文
/xAC00-/xD7A3 (韩文)
/u0800-/一 (日文)
ps: 韩文是大于[/龥]的字符
正则例子:
preg_replace("/([/x80-/xff])/","",$str);
preg_replace("/([一-龥])/","",$str);
希望可以采纳,谢谢。

在中文字符出现的地方用[^`]+表示,你也可以用其它字符代替“`”,只要中文字符内处不可能出现的字符就行。
意思是:不是“`”字符,除了“`”的一切字符,包括中文,重复一次或多次。
为什么要这样表示中文字符的集合呢?
可能是因为在正则表达式中没有表示中文字符的字符类或集合或范围。甚至[[:print:]]+都不行!
测试如下:
<?php
$str='ffdjsfjshgfhfg<12><模式>d<括号内的部分>f符类中fs<字符类中可tryrt用的元字符为>:sjssdfsfs,sfsfjksjk,<iogfds12346789>括号内的部分';

$b='[<][^<]+[>]';//有可能出现中文字符的地方用[^<]+表示
//$b='[<][[:print:]]+[>]';

while(eregi($b,$str,$array))
{
$str_h=str_replace("<","<",$array[0]);
$str_h=str_replace(">",">",$str_h);

echo $str_h."</br>";
$str=str_replace($array[0],'',$str);
}//From J.L
?>

试试这样行不行:
"/href\s*=\s*[\'\"]?([+:%\/\?~=&;\\\(\),._a-zA-Z0-9-\u4e00-\u9fa5]*)(#[.a-zA-Z0-9-]*)?[\'\" ]?(\s*rel\s*=\s*[\'\"]?(nofollow)[\'\"]?)?/i"

将UserName后面的参数使用urlencode转码一次

我用php做的一个发言性质的模块,怎么让输入网址的时候自动加入链接...
答:mvc01,你好:你所提出的问题使用正则即可解决,具体如下:自动添加"http://"头的PHP函数代码:<?phpif (!preg_match("/^(http|ftp):/", $_POST['url'])){ $_POST['url'] = '$_POST['url'];}?>PHP将网址字符串转换成超级链接,可将URL和E-mail 地址字符串转换为可点击的超级...

ThinkPHP 网址格式URL地址怎么设置
答:http://localhost/thinkphp4/index.php/user_group/index4、如果'URL_CASE_INSENSITIVE'=>false,那么url也可以写为 http://localhost/thinkphp4/index.php/UserGroup/index二、URL伪静态 'URL_HTML_SUFFIX'=>'html|shtml|xml',//限制伪静态的后缀三、URL路由 1、启动路由要在配置文件中开启路由...

php 替换某一指定字符并跳转
答:php读取文件文本内容,我就不多了。如果不了解可以加分,继续追问。嘿嘿..我主要说一下正则匹配部分 从文本中读取link地址,假设变量$link <?url = str_replace('\/&','?',$link);if( $url == $link ){ echo "";echo "window.open('".$url."','_self');";echo "";} ?> 如果对l...

PHP 正则表达式提取网址中的id
答:在做新浪的微博的采集啊,呵呵,这个简单啊 preg_match('/http:\/\/t.sina.com.cn\/(\d+)\/fans\//',$html,$result);echo $result[1];

php如何获取当前页面url路径
答:利用PHP实现 http://localhost/PHP/XX.php?id=5 1、//获取域名或主机地址 echo $_SERVER['HTTP_HOST']; #localhost 2、//获取网页地址 echo $_SERVER['PHP_SELF']; #/PHP/XX.php 3、//获取网址参数 echo $_SERVER["QUERY_STRING"]; #id=5 4、//获取用户代理 echo $_SERVER['HTTP_...

网址中:index.php、home.html或index.html分别代表什么意思?
答:都一个意思啊。都是首页或者目录的意思,后面的扩展名只是编写网页的语言不同罢了!

如何通过php获取提交页面的URL?
答:4、$_SERVER["HTTP_REFERER"],作用:获取用户的代理。通过上述说明我们基本上已经了解了$_server的常用方法,下面我们首先通过PHP代码获取当前网页网址中传递的参数。对参数进行解析并输出到屏幕上。请看源代码:<?php para=urldecode($_SERVER["QUERY_STRING"]);//避免网址参数中文乱码 //举例url="...

我想知道网址域名后面的各种字符的意义,比如&,问号,等号,各种百分号乱码...
答:index.php 一般是主页 ?和&是用于不同页面传参 百分号乱码可能是路径被加密了

简单获取新浪短网址API接口的方法(附PHP请求示例)
答:3、更换链接时,必须要以http(s)://开头,否则可能会导致短网址生成失败或者生成的短网址无法跳转访问原网站。4、上文提到的新浪短网址API接口,经测试都是比较稳定的,觉得好用记得收藏一下,以免丢失。1、长链接转换后,为什么结尾的参数丢失了?答:因为长链接中含有特殊字符,需要将url编码后再使用...

PHP如何获取 URL ?符号后的参数 在线等答案
答:先获取这个网址" http://www.xxx.com/xiazai.php?attachment.php?fid=11",然后用字符串截取函数按‘?'截取,取出结果数组中符合要求的也就是result_array[1](可自定义),然后输出如下:http://www.tlk8.cn/<?php</A> echo result_array[1];?>\"> ...