现在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. 将源代码中的全角符号转换成半角符号并对代码风格进行美化

    从网上拷下来的代码经常会出现全角符号,代码风格也很糟糕,可以用下面的方法进行修正美化. 1.安装astyle 2.写一个format.sh脚本 这里只是对空格还有数字.字母进行转换,可根据自己的需求再 ...

  2. php 全角符号 转成半角,php全角字符转换为半角字符简单示例

    这篇文章主要为大家详细介绍了php全角字符转换为半角字符简单示例,具有一定的参考价值,可以用来参考一下. 对php全角字符转换为半角字符简单示例感兴趣的小伙伴,下面一起跟随512笔记的小编巴闭妹来看看 ...

  3. 把字符串中的全角数字替换成半角数字 0123456789 转换成 0123456789

    public static String filterNumberString(String str) { if(StringUtils.isEmpty(str)) { return null; } ...

  4. js实现全角字符转换成半角字符

    在工作中用到将全角字符转换成半角的地方,就找了这个转换函数 //str:要转换的字符串 function DBC2SBC(str) {     var result="";     ...

  5. php 半角 全角空格,PHP将全角空格转成半角, 并去除头尾空格

    PHP将全角空格转成半角, 并去除头尾空格 /* 字体转换 $content 内容 $to_encoding 目标编码,默认为UTF-8 $from_encoding 源编码,默认为GBK */ fu ...

  6. php 半角全角转换,php 把全角字符转换成半角

    经常遇到用户把英文字符或者标点符号写成了全角,有时候会导致系统无法识别,所以应该先把全角的字符全部转换成正常的半角,减少问题存在.其实原理很简单,也很笨吧,就是把所有的全角字符替换成对应的半角字符,摘 ...

  7. [文本处理]——Python实现全角字符转化为半角字符

    #全角转半角 def full_to_half(text:str): #输入为一个句子_text = ""for char in text:inside_code = ord(ch ...

  8. 【计算机基础】半角符号与全角符号

    此内容非常重要,因为编程初学者经常会在这里出错 编程语言中的符号均为半角符号. 那么,什么是半角符号呢? 一.半角符号和全角符号 计算机中的符号按占用存储空间的大小可分为半角符号和全角符号 全角符号占 ...

  9. python匹配文本中全角符号的两种方法

    在对文本进行处理的时候经常会遇见要对括号和标点进行匹配 常见的英文(半角)符号如( ) 直接用正则匹配即可 但是遇见全角字符(中文括号.标点),直接用正则匹配会存在问题: 因为编码通常为为utf8,若 ...

最新文章

  1. 进程注入的研究与实现
  2. (WPF, MVVM) Event 处理
  3. GDCM:gdcm::Rescaler的测试程序
  4. OPENSSL_1.0.2' not found
  5. 【spfa】假期计划(jzoj 3936)
  6. python 当前文件路径获取方式_python中获取文件路径的几种方式
  7. DotNet微信公众号简介
  8. mysql 使用update 1064错误的原因和解决方法
  9. Android 仿 新闻阅读器 菜单弹出效果(附源码DEMO)
  10. 西门子 PLM 产品被曝数十个漏洞,可导致代码执行后果
  11. 开始学习C#.Net
  12. HDU2010 水仙花数【进制】
  13. bzoj 3398: [Usaco2009 Feb]Bullcow 牡牛和牝牛(DP)
  14. 二维码ZBar之ZBarReaderView
  15. web平台安装程序 无效的uri_计算机二级Web(1):Web技术基础(上)
  16. java 覆盖文件_java复制文件(如果目标文件存在,是否覆盖)
  17. mysql测评作业指导书_测评作业指导书
  18. 代理服务器关闭没过多久又自动开启,Win10自动更新关闭了过几天又自动开启了怎么办?...
  19. 查看主板型号 两种方法
  20. Mysql IFNULL SUM 结合使用无效的问题

热门文章

  1. oracle中怎么判断全为空格_生活中常见的哪些蔬菜草酸低?怎么判断呢
  2. swapper_pg_dir的作用
  3. 内存地址空间为何用十六进制表示(pamp分析基础)
  4. 青春是用来拼搏的,而不是用来挥霍的
  5. 陕西省10个地级市行政区划 (2023)
  6. 2020小红书校招笔试题
  7. 京东大规模消息推送平台搭建实践
  8. 日志审计与分析-利用grep进行日志筛选
  9. H5下载视频到andriod/ios相册中
  10. L0Smoothing学习笔记