2013-04-28 26 views
0

我试图使用过滤整数filter_var(),但在这种情况下:PHP filter_var()函数允许整数超过一个减

echo filter_var('-3-6-5', FILTER_SANITIZE_NUMBER_INT); // Output: -3-6-5 

而不是-3-6-5我期望能获得 - 365。

有人知道如何解决这个问题或正则表达式,这样做?

感谢您的帮助!

+0

为什么你期望的开始?一点上下文将有助于... – elclanrs 2013-04-28 23:37:03

+0

@elclanrs,我想消毒一些变量,然后验证他们 – 2013-04-28 23:38:12

+1

@Marcio思茅:'-3-6-5'应该失败验证。您应该向用户显示一条错误消息,而不是试图猜测它的意思 – zerkms 2013-04-28 23:39:27

回答

1
echo preg_replace('~^[^-\d]|(?<!^)\D~', '', '-3-6-5'); // -365 

它将删除任何不是一个数字,保持-登录串

相关问题