我想让用户输入有效,因此我使用正则表达式。我希望用户只插入字母数字内容和一些特定字符 - ,!$^& 等。到目前为止我得到的代码是:
$validText = preg_replace('@[^A-Za-z0-9\w\ ]@', '',$text);
但它只关心字母数字和空格,但我如何定义正则表达式以将字符称为 .'!@# 等?我在哪里定义它?顺便问一下,你能给我推荐一个好的正则表达式吗?
任何建议
只需将它们添加到您的组。
$validText = preg_replace('/[^A-Za-z0-9\w .\'!@#]/', '',$text);
注意: preg_match()
可能更适合这种情况。目前您允许无效字符然后删除它们。导致用户体验不佳。