允许英文,中文,日文

时间:2019-02-12 04:56:43

标签: php

我怎样才能仅通过PHP替换符号,而不能替换字符0,9或仅英语或中文或日语字符的符号...反正通过PHP可以做到这一点吗?我使用preg_replace允许使用英文字符和数字,但是如果发现日语/中文/俄语字符会被自动删除...希望有人可以帮助我找到有关此问题的解决方法。

我尝试使用此命令,但仍然无法正常工作...

$Data             = preg_replace('/[^\p{L}\p{N}]/u', '-', $Data);

1 个答案:

答案 0 :(得分:2)

也许这段代码会为您提供帮助。

<?php
$string = "年m月d日ASDFdfdfd4545$@#$@$@";

$newString = preg_replace('/[^\\p{L} 0-9]/mu', "_", $string);

echo $newString;

输出:

  

年m月d日ASDFdfdfd4545 _______

  • \p{L}匹配来自任何语言的任何字母

  • /u是Unicode修饰符,如果要处理,则需要使用它
    Unicode字符

实时演示:http://sandbox.onlinephpfunctions.com/code/a81db5a33e910799f995046104d38898c1203756