2013-06-27 8 views
6

स्वीकार करता है filter_var() इस यूआरएल को स्वीकार और मान्य करता है http://http://www.google.com?filter_var() अमान्य यूआरएल

$website = "http://http://www.google.com"; 

echo filter_var($website, FILTER_VALIDATE_URL); // This outputs the value of $website 

मुझे लगता है कि यह गलत है। इसके लिए कोई समाधान या तय?

phpinfo()

enter image description here

+0

आपको क्यों लगता है कि यूआरएल गलत है? – zerkms

+2

@zerkms दो 'http: //' s हैं। –

+0

ओह, मेरा ध्यान अंत में 'com.ph' द्वारा चुराया गया था) – zerkms

उत्तर

2

लगता है आप PHP में एक बग पाया है की तरह। PHP मैनुअल का कहना है कि FILTER_VALIDATE_URL http://www.faqs.org/rfcs/rfc2396.html

के अनुसार uris को मान्य करता है यदि आप spec पढ़ते हैं, तो PHP स्पष्ट रूप से दिशानिर्देशों के अनुसार उचित रूप से मान्य करने में विफल रहता है। विशेष रूप से, धारा 3 (यूआरआई सिंटेक्टिक घटक) में, यह परिभाषित किया गया है कि योजना (आपके मामले में http) केवल एक बार मौजूद हो सकती है, और यूरी में एकमात्र कोलन से पहले हो सकती है।

आप इसे ढूँढने में https://bugs.php.net/

अच्छा काम इस बग रिपोर्ट करना चाहिए!

+1

धन्यवाद, इसके लिए एक बग रिपोर्ट दायर की। https://bugs.php.net/bug.php?id=65141 –

संबंधित मुद्दे