当前位置: 首页 > 知识库问答 >
问题:

PHP-为所有支持的语言替换所有非字母数字字符

谢奇略
2023-03-14

嗨,我正在尝试从一个字符串中替换所有的非字母数字字符,如下所示:

mb_ereg_replace('/[^a-z0-9\s]+/i','-',$string);

第一个问题是它不能替换字符串中的“.”等字符。

其次,我想在这个方法中添加对所有用户语言的多点支持。

我怎么能那样做?

多谢帮忙。

共有1个答案

南门英飙
2023-03-14

请尝试以下操作:

preg_replace('/[^\p{L}0-9\s]+/u', '-', $string);

在正则表达式上使用u标志时,\p{L}(和\p{Letter})将匹配任何Unicode字母类别中的任何字符。

 类似资料:
  • 问题内容: 我有一个字符串,我想用一个星号替换任何不是标准字符或数字的字符,例如(az或0-9)。例如,“ h ^&ell`。,| ow] {+ orld”被替换为“ h * ell * o * w * orld”。请注意,多个字符(例如“ ^&”)将替换为一个星号。我将如何去做呢? 问题答案: 正则表达式可以解救! 例:

  • 问题内容: 我尝试使用此功能,但没有成功- 问题答案: 使用。 注意:删除了空格,因为通常不将其视为字母数字。

  • 我希望使用正则表达式尝试删除字符串中的所有非字母数字字符,并用 我只想允许基本上按字母顺序排列的单词A-Z和 这是专门准备字符串成为URL的一部分,因此需要符号而不是空格。 我已经查看了< code>/\W /,但是这将删除所有空格和字母数字字符,而我希望尽可能保留空格,然后用符号替换。 我已经搜索了一下,但我似乎找不到一些东西,我希望有人能对此有任何简单的建议。 示例字符串

  • 我想用x(下划线)替换特殊字符(regex\W),但我不想用下划线替换空白,也不想用单个下划线替换多个连续的特殊字符 示例字符串:输出: 字符串:输出: 我试过,但并不准确

  • 这应该只得到数字和返回,但不做它作为预期的!有什么建议吗?

  • 显示 iOS 所支持的所有字体,方便开发者查看。 [Code4App.com]