PHP preg_replace删除字符串它正在检查

时间:2017-02-11 17:52:30

标签: php

我正在使用preg_replace验证来自我的数据库的名字和姓氏。如果我不包含preg_replace,则值会像平常一样传递,但如果我使用它,则不会传递任何内容。这是我目前的代码:

max

我对其他变量使用类似的验证没有问题,它实际上只发生在这些上。我对验证不太熟悉,所以任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:0)

您需要使用/[^A-Za-z]/正则表达式,这将过滤除A-Za-z

以外的所有内容
$string = '09test'; 
$new_string = preg_replace("/[^A-Za-z]/",'',$string);
echo $new_string; //prints test

答案 1 :(得分:0)

试试/[^A-Za-z]/g。注意最后的全局修饰符。 您可以查看https://regex101.com/

但我建议你将非英语字符音译为英语Transliterate any convertible utf8 char into ascii equivalent 在这种情况下,您不会丢失数据,例如在我的名字中János,但您将获得 Janos 而不是 Jnos