[英]What are the defaults regex used by filter_var?
PHP函數filter_var使用的正則表達式是否在某處提到?
即使您知道要查找的內容,源代碼也可能難以遍歷。 我已經鏈接了定義以下filter_var
工作方式的文件。
在https://github.com/php/php-src/blob/master/ext/filter/filter.c頂部附近,您應該能夠看到filter_list
數組,該數組與PHP過濾器常量及其相應的過濾功能相匹配。 filter_var
是在此文件中定義的,但是我們現在可以忽略它。
過濾器本身都在https://github.com/php/php-src/blob/master/ext/filter/logical_filters.c中定義。
您可能會注意到,並非所有過濾器都使用正則表達式。 確實,乍一看,我看到的唯一使用任何正則表達式模式的都是php_filter_validate_email
。 其他函數似乎具有使它們有效運行所必需的替代邏輯,並且不需要正則表達式來過濾其內容。
我上面的解釋已簡化為回答問題。 我建議您在可能的情況下將filter_var
與適當的標志一起使用,而不是嘗試進行反向工程或重新發明輪子,因為這涉及其他邏輯,這會使您的代碼更加簡單。
是的,它們主要有4種類型:
Validate filters
Sanitize filters
Other filters
Filter flags
更多信息 :
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.