允许" - "和"." 在preg_replace中

Jam*_*mes 1 php regex preg-replace preg-match

$username = preg_replace("/[^\p{L}|\p{N}]/u", "", html_entity_decode($username));
Run Code Online (Sandbox Code Playgroud)

这允许"字母"和"数字" $username,删除其他一切.

但是我怎样才能在混合中使用 "."点符号呢?也会"-"很好.

非常感谢你!

rai*_*7ow 6

只需将它们添加到您的角色类中:

$var = '???????. ??????-';
$username = preg_replace('/[^\p{L}\p{N}.-]/u', "", $var);
var_dump($username); // ???????.??????-
Run Code Online (Sandbox Code Playgroud)

演示.我已经删除了|,因为它显然已被字符类覆盖(显然不应该在字符类中用作替换 - 毕竟,类IS是一种替换).)