【问题标题】:phpRegEx: replace everything except ASCII and UTF8 numbersphp RegEx:替换除 ASCII 和 UTF8 数字之外的所有内容
【发布时间】:2012-07-31 07:29:54
【问题描述】:

如何替换除 ASCII/unicode 数字以外的所有内容:

ASCII
0-9
Unicode:
٠-٩

使用 PHP::RegEx,知道我需要什么代码吗?

提前致谢。

【问题讨论】:

    标签: php regex unicode replace ascii


    【解决方案1】:
    $ret = preg_replace('/[^\d]/', '', $str);
    

    【讨论】:

    • 至少你需要u 修饰符。但即便如此,我也不确定默认的字符类是否支持 Unicode(不过,关于它的文档是无声的)。
    • @xdazz 谢谢,但不能正常工作。输出-> ١١١���٢٢٢
    【解决方案2】:

    您可以使用\P{Nd} 指定“任何非十进制数字的字符”:

    preg_replace('/\P{Nd}/u', '', $s)
    

    【讨论】:

      猜你喜欢
      • 2013-12-26
      • 2015-07-26
      • 2011-11-12
      • 2019-11-19
      • 1970-01-01
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 2017-08-26
      相关资源
      最近更新 更多