2013-04-28 54 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 

它將刪除任何不是一個數字,保持-登錄串

相關問題