导航:首页 > 编程语言 > php全角字符正则

php全角字符正则

发布时间:2022-05-09 14:54:31

php 正则替换 全、半角空格和全角逗号替换为半角逗号

/,|\s/ig 这个是正则,正则只是做查找功能而已,没替换,你替换要用你自己的语言替换。例如:你的是java,str.replaceAll(",|\\s",",");

② 求PHP正则表达式,匹配[所有标点符号|数字|大小写字母|其他在书名上应该横过来的字符]

你的意思是只要汉字吗? 你说的也不是很清楚 猜猜应该是只要汉字吧

preg_match("/^[\u4e00-\u9fa5]+$/",$str)) //utf8编码

③ 求PHP 的正则表达式 大全

匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:\n\s*\r 评注:可以用来删除空白行 匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为 匹配首尾空白字符的正则表达式:^\s*|\s*$ 评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 评注:表单验证时很实用 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]* 评注:网上流传的版本功能很有限,上面这个基本可以满足需求 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$ 评注:表单验证时很实用 匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7} 评注:匹配形式如 0511-4405222 或 021-87888822 匹配腾讯QQ号:[1-9][0-9]{4,} 评注:腾讯QQ号从10000开始 匹配中国邮政编码:[1-9]\d{5}(?!\d) 评注:中国邮政编码为6位数字 匹配身份证:\d{15}|\d{18} 评注:中国的身份证为15位或18位 匹配ip地址:\d+\.\d+\.\d+\.\d+ 评注:提取ip地址时有用 匹配特定数字: ^[1-9]\d*$ //匹配正整数 ^-[1-9]\d*$ //匹配负整数 ^-?[1-9]\d*$ //匹配整数 ^[1-9]\d*|0$ //匹配非负整数(正整数 + 0) ^-[1-9]\d*|0$ //匹配非正整数(负整数 + 0) ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ //匹配正浮点数 ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ //匹配负浮点数 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ //匹配浮点数 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$ //匹配非负浮点数(正浮点数 + 0) ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$ //匹配非正浮点数(负浮点数 + 0) 评注:处理大量数据时有用,具体应用时注意修正 匹配特定字符串: ^[A-Za-z]+$ //匹配由26个英文字母组成的字符串 ^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串 ^[a-z]+$ //匹配由26个英文字母的小写组成的字符串 ^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串 ^\w+$ //匹配由数字、26个英文字母或者下划线组成的字符串 /http:\/\/(.*)\//i //匹配外部链接地址

满意请采纳

④ PHP中,一串UTF8中文字符,要将其中的全角问号替换为空,正则表达式应该怎么写

这种简单的替换用不着正则表达式,可以用字符串替换函数
str_replace('?','',$str);

⑤ 请问 php 正则中的这些是什么编码呢

一:[\x81-\xfe]格式的正则:

$s=preg_replace('/^([\x81-\xfe][\x40-\xfe])*/','0',$neirong); 这里面的大多是日韩文字

二:x{4e00}格式的正则:

preg_match("/^[\x{4e00}-\x{9fa5}]{1,4}/u",$str); 这里面是匹配中文;

——————————————————————————
这些字符集尤其是日文字符集的各种字、标点以及特殊符号的时候有所帮助。
UTF8
[\x01-\x7f]|[\xc0-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}
UTF16
[\x00-\xd7][\xe0-\xff]|[\xd8-\xdf][\x00-\xff]{2}
JIS
[\x20-\x7e]|[\x21-\x5f]|[\x21-\x7e]{2}
SJIS
[\x20-\x7e]|[\xa1-\xdf]|([\x81-\x9f]|[\xe0-\xef])([\x40-\x7e]|[\x80-\xfc])
EUC_JP
[\x20-\x7e]|\x81[\xa1-\xdf]|[\xa1-\xfe][\xa1-\xfe]|\x8f[\xa1-\xfe]{2}
EUC_JP标点符号及特殊字符
[\xa1-\xa2][\xa0-\xfe]
EUC_JP全角数字
\xa3[\xb0-\xb9]
EUC_JP全角大写英文
\xa3[\xc1-\xda]
EUC_JP全角小写英文
\xa3[\xe1-\xfa]
EUC_JP全角平假名
\xa4[\xa1-\xf3]
EUC_JP全角片假名 [color=Red]2007-03-12 15:00更新[/color]
\xa3[\xb0-\xb9]|\xa3[\xc1-\xda]|\xa5[\xa1-\xf6][\xa3][\xb0-\xfa]|[\xa1][\xbc-\xbe]|[\xa1][\xdd]
EUC_JP全角汉字 [color=Red]2007-03-12 15:06更新[/color]
[\xb0-\xcf][\xa0-\xd3]|[\xd0-\xf4][\xa0-\xfe]|[\xB0-\xF3][\xA1-\xFE]|[\xF4][\xA1-\xA6]|[\xA4][\xA1-\xF3]|[\xA5][\xA1-\xF6]|[\xA1][\xBC-\xBE]
Big5
[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|[\xa1-\xfe])
GBK
[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]
GB2312汉字
[\xb0-\xf7][\xa0-\xfe]
GB2312半角标点符号及特殊符号
\xa1[\xa2-\xfe]
GB2312罗马数组及项目序号
\xa2([\xa1-\xaa]|[\xb1-\xbf]|[\xc0-\xdf]|[\xe0-\xe2]|[\xe5-\xee]|[\xf1-\xfc])
GB2312全角标点及全角字母
\xa3[\xa1-\xfe]
GB2312日文平假名
\xa4[\xa1-\xf3]
GB2312日文片假名
\xa5[\xa1-\xf6]
补充:
GB18030
[\x00-\x7f]|[\x81-\xfe][\x40-\xfe]|[\x81-\xfe][\x30-\x39][\x81-\xfe][\x30-\x39]
[color=Red]2007-03-12 21:35 补充[/color]
日文半角空格
\x20
SJIS全角空格
(?:\x81\x81)
SJIS全角数字
(?:\x82[\x4f-\x58])
SJIS全角大写英文
(?:\x82[\x60-\x79])
SJIS全角小写英文
(?:\x82[\x81-\x9a])
SJIS全角平假名
(?:\x82[\x9f-\xf1])
SJIS全角平假名扩展
(?:\x82[\x9f-\xf1]|\x81[\x4a\x4b\x54\x55])
SJIS全角片假名
(?:\x83[\x40-\x96])
SJIS全角片假名扩展
(?:\x83[\x40-\x96]|\x81[\x45\x5b\x52\x53])
EUC_JP全角空格
(?:\xa1\xa1)
EUC半角片假名
(?:\x8e[\xa6-\xdf])

——————————————————————————

下面是utf-8编码的例子:
$str = "汉字";
if (preg_match("/^[\x{4e00}-\x{9fa5}]+$/u",$str)) {
print("该字符串全部是中文");
} else {
print("该字符串不全部是中文");
}

下面的例子包含gbk,gb2312的例子:

<?php
$action = trim($_GET['action']);
if($action == "sub")
{
$str = $_POST['dir'];
//if(!preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)) //GB2312汉字字母数字下划线正则表达式
if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u",$str)) //UTF-8汉字字母数字下划线正则表达式
{
echo "<font color=red>您输入的[".$str."]含有违法字符</font>";
}
else
{
echo "<font color=green>您输入的[".$str."]完全合法,通过!</font>";
}
}
?>

⑥ PHP中字符串正则式处理:去除字符串末尾的若干个空格

查找:[\u0026-\u002f\u003a\u003b]
替换为空
原理:&的ascii为0x26,其至0x2f之间都是符号,0x30~0x39是数字0~9,0x3a和0x3b是符号,分号是0x3b,所以,你描述的符号就是两个连续区间,后一个区间只有两个字符,总体上也可表示为一个连续字符区间和两个散点字符,如上即是。

⑦ php如何判断是字符串全角还是半角

第一步:新建程序
使用Dreamweaver或记事本新建一个PHP程序,这是所有开发必须经过的开始,然后输入测试段代码(Hello World!),并运行。

第二步:输入英文分号并运行
为了便于后面的比较,在编辑器新增一个<div>标签并做对齐,输入文字:我是英文PHP的分号(;),并在浏览器中运行

第三步:对比输入中文分号再运行
接着输入一段文字,我是中文PHP的分号(;),在浏览器中运行,并作比较,中文分号比英文分号更大更宽

第四步:输入英文半角并运行
在编辑器中新增一个<div>标签,输入文字:我是PHP的半角写法:php,并运行,并记录

第五步:全半角及中英文切换
很多非专业的人不会切换全半角,切换全半角方式为Shift+Space键盘,也可以点击输入法切换

第六步:输入英文全角再运行
同理,在编辑器中输入文字:我是PHP全角写法:php,并运行,比较全半角的区别(注:全角只在英文小写字母才有作用),全角字符宽度明显大于半角。

第七步:对比全角和半角
全角字符占位大于半角。

第八步:对比中文和英文
英文符号再大小以及占位宽度比中文符号小

⑧ PHP中文文字正则替换,并将匹配的中文文字加粗

<?php
$str = "中文123美丽abc开心。?我们";
echo preg_replace('#(?:(?![,。?])[xC0-xFF][x80-xBF]+)+#','<b>$0</b>',$str);
//(?:[xC0-xFF][x80-xBF]+) 单个中文字符,不需要引用,因此使用?:
//(?![,。?]) 排除中文标点符号,这里要写入中文标点
//(?:(?![,。?])[xC0-xFF][x80-xBF]+) 排除中文标点符号后的中文字符
//(?:[xC0-xFF][x80-xBF]+)+ 1个以上的中文字符
//结果 <b>中文</b>123<b>美丽</b>abc<b>开心。?我们</b>
?>

⑨ 有关php 正则表达式替换的问题

$str = "哈哈@abc,@中国,@中国china,另一个哈哈@结尾没有逗号的";
$pattern = "/(@([^,,]+))([,,]?)|(@(.+))$/i"; //匹配以全角逗号或者半角逗号或者是串尾的
$replacement = '<a href="/id/$2">$1</a>$3';
$str = preg_replace($pattern, $replacement, $str);
echo $str;

⑩ php正则表达式问题

/后边的是修正符
其中i是不区分大小写
修正符很有用的
例子:
<?php
//标记在整个模式之外;
例://$mode="/\bis\b/U",其中U在外面;
//修正符:i 不区分大小写的匹配;

//如:"/abc/i"可以与abc或aBC或ABc等匹配;
//修正符:m 将字符串视为多行,不管是那行都能匹配;

例://模式为:$mode="/abc/m";
//要匹配的字符串为:$str="bcefg5e\nabcdfe"
//注意其中\n,换行了;abc换到了下一行;
//$str和$mode仍可以匹配,修正符m使得多行也可匹配;
//修正符:s 将字符串视为单行,换行符作为普通字符;

例://模式为:$mode="/pr.y/";
//要匹配字符串为:$str="pr\ny";
//两者不可匹配; . 是除了换行以外的字符可匹配;
//修改下模式为:$mode="/pr.y/s";
//其中修正符s将\n视为普通字符,即不是换行;
//最后两者可以匹配;
//修正符:x 将模式中的空白忽略;
//修正符:A 强制从目标字符串开头匹配;

例://$mode="/abc/A";
//可以与$str="abcsdfi"匹配,
//不可以与$str2="sdsdabc"匹配;
//因为$str2不是以abc开头;
//修正符:D 如果使用$限制结尾字符,则不允许结尾有换行;

例://模式为:$mode="/abc$/";
//可以与最后有换行的$str="adshabc\n"匹配;
//元子符$会忽略最后的换行\n;
//如果模式为:$mode="/abc/D",
//则不能与$str="adshabc\n"匹配,
//修正符D限制其不可有换行;必需以abc结尾;
//修正符:U 只匹配最近的一个字符串;不重复匹配;

例:
如模式为:
$mode="/a.*c/";
$str="abcabbbcabbbbbc" ;
preg_match($mode,$str,$content);
echo $content[0]; //输出:abcabbbcabbbbbc;

//如果$mode="/a.*c/";变成$mode="/a.*c/U";
// 则只匹配最近一个字符串,输出:abc;

//修正符:e 配合函数preg_replace()使用,
可以把匹配来的字符串当作正则表达式执行;
?>

阅读全文

与php全角字符正则相关的资料

热点内容
一天一图学会python可视化 浏览:307
魔兽编辑文本命令串 浏览:495
android中view绘制 浏览:796
安卓机内存删除怎么恢复 浏览:329
Qt环境的编译软件放到linux 浏览:212
联创打印系统怎么连接服务器 浏览:935
杭州行政命令 浏览:160
如何查找服务器日志 浏览:801
加密的钥匙扣怎么写 浏览:579
文件夹更新不了怎么办 浏览:475
压缩机指示灯亮是什么原因 浏览:956
什么app订酒店半价 浏览:765
中老年解压神器 浏览:243
讯飞语音ttsandroid 浏览:468
腰椎压缩性骨折术后能坐车吗 浏览:507
python类装饰器参数 浏览:348
均线pdf微盘 浏览:791
女生喜欢玩的解压游戏 浏览:442
支付宝暗号加密操作 浏览:134
柯洁在哪个app下围棋 浏览:751