我一直在閱讀上的堆棧溢出各個崗位,試圖找到驗證PHP中的URL的理想方式。我的研究提出了三種可能的解決方案,但是,它們都不是理想的。更好的辦法來驗證URL在PHP
提到的三種方法是正則表達式,filter_var ($url, FILTER_VALIDATE_URL)
和parse_url()
。第一種方法的問題已經衆所周知,並且我可以找到最全面的驗證正則表達式。內置到PHP過濾擴展中的filter_var函數似乎有錯誤,例如將http:// ...這樣的url視爲有效。 parse_url方法使用的是從未用於URL驗證的函數,因此不能依賴於此任務。
是否有關於PHP網址驗證,我可能已經錯過了任何其他的選擇嗎?
搶的類,它它已經。用於isntance的Zend_Validate_Hostname。 – Layke
當你說URL驗證時,你的意思是解析爲頁面/響應?還是一個正確組建的?您是否只希望驗證完整的網址或相對網址(例如'google.com')? – Alex