校驗字串是程式中最常見的功能。例如遇見這樣一個場景,校驗字串是否符合ip位址格式。通常有兩種方法:
(1) 手寫一個ip位址校驗函數
(2) 正規表示式
(2) 正規表示式 ,通常會花十幾分鐘自己寫一個校驗函數。在使用支援正規的語言(php、C++11等)在處理此類問題時,通常會使用正規。但是正規有一定使用難度,而且讀起來也不直覺。 (
這絕不意味著正則不重要)。有的時候往往只想快速的解決眼前的問題而已,那該怎麼辦呢?至少在php中我們可以使用濾鏡。
濾鏡>
<?php $ip="192.168.0.222"; $is_ip=filter_var($ip,FILTER_VALIDATE_IP); var_dump($is_ip); $mail="123@xx.com"; $is_mail=filter_var($mail,FILTER_VALIDATE_EMAIL); var_dump($is_mail); ?>這要比自己校驗字串or 正規方便多了吧~
php中的過濾器分為三種類型:具有VALIDATE字樣的過濾器只檢查字串是否有效,不會改變字串的狀態。帶有SANITIZE的過濾器會將不符合要求的子字串刪除,第三種是FILTER_CALLBACK。即使用自己的回呼函數作校驗。
在w3cschool的線上網站上提供了一個表格,詳細列出了php中各過濾器和過濾函數的功能。
PS:過濾器在 PHP5.2之後的版本中預設提供,先前的版本需要安裝擴充功能才能使用。過濾器雖然好用,但其功能仍然比較有限,在面對特定的需求時,還需和字串庫、正規結合使用。
以上就介紹了 php中的過濾器,包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。