PHP 正则匹配 求解答

 Phoenix-Valefor 发布于 2022-12-01 14:14

这是网上找的一段全角符号转半角符号的函数,使用了下确实有效,使用的原理是中文标点的第二个字节减去0X80(即128)所得的数字就是半角所得的数字,但还是不符合我的需求,我希望的能够从一段文本中将全角符号转成半角符号而对文字不转换。

例如:

原文:如果我连身边最重要的人都保护不了的话,我当这个魔君还有什么意义。
转为:如果我连身边最重要的人都保护不了的话,我当这个魔君还有什么意义.

请问这个该如何匹配???

还是需要说将文本中的字符串转成数组,例遍数组遇到全角转成半角,再组成文本。



                            
                                
        
        
    
1 个回答
  • 你的方法不错,不过复杂了点,看我的

    $arr1 = ["1","2","3","A","B","C","D","F","W","S","\",""",",",".","?","<",">","{","}","[","]","*","&","^","%","#","@","!","~","(",")","+","-","|",":",";","。"];
    $arr2=["1","2","3","A","B","C","D","F","W","S","\\","\"",",",".","?","<",">","{","}","[","]","*","&","^","%","#","@","!","~","(",")","+","-","|",":",";","."];
    $str="如果我连身边最重要的人都保护不了的话,我当这个魔君还有什么意义。";
    echo $str."<br>";
    for ($i=0;$i<count($arr2);$i++)
    {
     $str=str_replace($arr1[$i],$arr2[$i],$str);
    }
    echo $str;

    运行结果

    如果我连身边最重要的人都保护不了的话,我当这个魔君还有什么意义。
    如果我连身边最重要的人都保护不了的话,我当这个魔君还有什么意义.
    2022-12-01 14:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有