2011-12-08 81 views

回答

2

你將不得不使用回調過濾器,如果你想在你的過濾變種只有小寫字母寫你的函數

function my_filter($value) 
{ 
    return preg_replace('/[^a-z\d_]/iu', '', $value); 
} 
$var = filter_var($var, FILTER_CALLBACK, array('options' => 'my_filter')); 

,從正則表達式除去「i」標誌。

當然,使用filter_var只是在這裏超出代碼。這個更短。

$var = preg_replace('/[^a-z\d_]/iu', '', $var); 
+0

非常感謝,我只是去與正則表達式。我想這沒什麼區別... – Alex

2

顯然你不能。因爲你所要求的實際上是65到90和97到122之間的東西。過濾器將去掉數值小於32和大於127的字符。你應該改用正則表達式。