UTF-8编码下PHP全角符号替换成半角
现在web中的一种元素就是tag,即为标签,咱们发表很多新闻,或者上传图片给图片描述,都会用到tag,输入tag的时候往往对于中文用户来说会有全角标点符号,传统的标点分隔符是逗号,所以在处理逗号的时候就会有一些小技巧。
1、假设网页编码格式为GBK,那么其实在输入端就很方便的进行控制了,自动的将输入的中文逗号“,”(或者空格等其他符号)转换成英文逗号“,”,转换逗号的代码如下:
<input name="tags" type="text" id="tags" value="<?php echo $tags; ?>" οnkeyup="this.value=this.value.replace(/,/g, ','); " />
2、当在UTF-8编码时候,就要进行一番转码操作了,其实也很简单,代码如下:
<?php $tags = "0123ABCDFWS\",.?<>{}[]*&^%#@!~()+-|:;"; print_r($tags); $tags = iconv('utf-8', 'gbk', $tags); $tags = preg_replace('/\xa3([\xa1-\xfe])/e', 'chr(ord(\1)-0x80)', $tags); $tags = iconv( 'gbk', 'utf-8', $tags); print_r($tags); ?>
原理:所有的中文字符的第二个字节减去0X80(即128)所得的数字就是半角所得的数字了。
这里使用了正则表达式替换函数 preg_replace()。
这样就可以成功转换了,不转吗转换是没有效果的,所以网上的代码一般都是在gbk的编码下的结果。
转载于:https://www.cnblogs.com/kiwiphp/p/3401401.html
UTF-8编码下PHP全角符号替换成半角相关推荐
- 将源代码中的全角符号转换成半角符号并对代码风格进行美化
从网上拷下来的代码经常会出现全角符号,代码风格也很糟糕,可以用下面的方法进行修正美化. 1.安装astyle 2.写一个format.sh脚本 这里只是对空格还有数字.字母进行转换,可根据自己的需求再 ...
- php 全角符号 转成半角,php全角字符转换为半角字符简单示例
这篇文章主要为大家详细介绍了php全角字符转换为半角字符简单示例,具有一定的参考价值,可以用来参考一下. 对php全角字符转换为半角字符简单示例感兴趣的小伙伴,下面一起跟随512笔记的小编巴闭妹来看看 ...
- 把字符串中的全角数字替换成半角数字 0123456789 转换成 0123456789
public static String filterNumberString(String str) { if(StringUtils.isEmpty(str)) { return null; } ...
- js实现全角字符转换成半角字符
在工作中用到将全角字符转换成半角的地方,就找了这个转换函数 //str:要转换的字符串 function DBC2SBC(str) { var result=""; ...
- php 半角 全角空格,PHP将全角空格转成半角, 并去除头尾空格
PHP将全角空格转成半角, 并去除头尾空格 /* 字体转换 $content 内容 $to_encoding 目标编码,默认为UTF-8 $from_encoding 源编码,默认为GBK */ fu ...
- php 半角全角转换,php 把全角字符转换成半角
经常遇到用户把英文字符或者标点符号写成了全角,有时候会导致系统无法识别,所以应该先把全角的字符全部转换成正常的半角,减少问题存在.其实原理很简单,也很笨吧,就是把所有的全角字符替换成对应的半角字符,摘 ...
- [文本处理]——Python实现全角字符转化为半角字符
#全角转半角 def full_to_half(text:str): #输入为一个句子_text = ""for char in text:inside_code = ord(ch ...
- 【计算机基础】半角符号与全角符号
此内容非常重要,因为编程初学者经常会在这里出错 编程语言中的符号均为半角符号. 那么,什么是半角符号呢? 一.半角符号和全角符号 计算机中的符号按占用存储空间的大小可分为半角符号和全角符号 全角符号占 ...
- python匹配文本中全角符号的两种方法
在对文本进行处理的时候经常会遇见要对括号和标点进行匹配 常见的英文(半角)符号如( ) 直接用正则匹配即可 但是遇见全角字符(中文括号.标点),直接用正则匹配会存在问题: 因为编码通常为为utf8,若 ...
最新文章
- 进程注入的研究与实现
- (WPF, MVVM) Event 处理
- GDCM:gdcm::Rescaler的测试程序
- OPENSSL_1.0.2' not found
- 【spfa】假期计划(jzoj 3936)
- python 当前文件路径获取方式_python中获取文件路径的几种方式
- DotNet微信公众号简介
- mysql 使用update 1064错误的原因和解决方法
- Android 仿 新闻阅读器 菜单弹出效果(附源码DEMO)
- 西门子 PLM 产品被曝数十个漏洞,可导致代码执行后果
- 开始学习C#.Net
- HDU2010 水仙花数【进制】
- bzoj 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛(DP)
- 二维码ZBar之ZBarReaderView
- web平台安装程序 无效的uri_计算机二级Web(1):Web技术基础(上)
- java 覆盖文件_java复制文件(如果目标文件存在,是否覆盖)
- mysql测评作业指导书_测评作业指导书
- 代理服务器关闭没过多久又自动开启,Win10自动更新关闭了过几天又自动开启了怎么办?...
- 查看主板型号 两种方法
- Mysql IFNULL SUM 结合使用无效的问题