gpt4 book ai didi

php - 去除字符串中与PHP中字母、数字、特定符号和汉字不匹配的字符

转载 作者:行者123 更新时间:2023-12-04 07:42:00 25 4
gpt4 key购买 nike

如果不是,我想删除字符串中的字符:

  • 字母
  • 号码
  • 空格或空格
  • 具体符号: ( ) 。 -/
  • 汉字

  • 例如:
    A3M \ Mfg. (&&$) *Co; 應龙龍.
    变成:
    A3M Mfg. () Co 應龙龍.
    我试着这样做:
    $string = 'A3M \ Mfg. (&&$) *Co; 應龙龍.';
    $string = preg_replace('/[^-A-Za-z0-9().\/ \u3040-\u30ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaff\uff66-\uff9f]/s', '', $string);

    echo $string;
    但不需要的字符仍然存在

    最佳答案

    PHP 支持使用 \x{....} 的代码点表示法而不是 \u .然而,使用 unicode character class \p{Han} 有更好的方法来处理这个问题。捕捉所有汉字。
    使用此正则表达式搜索:

    [^-\w()./\s\p{Han}]+
    替换为空字符串。
    RegEx Demo
    代码:
    $string = 'A3M \ Mfg. (&&$) *Co; 應龙龍.';
    $string = preg_replace('~[^-\w()./\s\p{Han}]+~u', '', $string);
    echo $string;
    //=> "A3M Mfg. () Co 應龙龍."
    请注意,由于原始字符串中可移动字符周围存在空格,因此它可能会留下很少的双空格实例。

    关于php - 去除字符串中与PHP中字母、数字、特定符号和汉字不匹配的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67412602/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com