2016-09-16 3 views
3

なぜPHP関数:FILTER_VALIDATE_URLは、アンダースコアを含むサブドメインのURLが無効であると思うのですか?PHP - FILTER_VALIDATE_URLがアンダースコアのサブドメインを見つけられない

<?php 
$url = "http://smiling_politely.blogspot.com"; 

if (!filter_var($url, FILTER_VALIDATE_URL) === false) { 
    echo("$url is a valid URL"); 
} else { 
    echo("$url is not a valid URL"); 
} 
?> 

どのように私はこのFILTER_VALIDATE_URLは、このような既存のURL(実行のための、おそらく最速の方法)を備えていることを確認することができますか? 2013 -

+4

https://bugs.php.net/bug.php?id=64948 – AbraCadaver

+0

うーんオープン..うまく動作するようになるだろう、この解決策を考え出しました-05-30 14:59 UTC、3年以上経ちました。 – Tom

+0

変更が必要かどうかは決まっていません。 – AbraCadaver

答えて

1

[OK]を、私はうまくいけば、まだ

<?php 

$url = "http://smiling_politely.blogspot.com"; 
$check = parse_url($url,PHP_URL_HOST); 

if(null!==$check) echo 'Valid'; else echo 'NOT valid.'; 

?> 
+0

'parse_url'は、現在有効な[RFC3986](http://www.faqs.org/rfcs/rfc3986.html)を使用しているため、より優れています。対照的に、 'FILTER_VALIDATE_URL'は廃止された[RFC2396](http://www.faqs.org/rfcs/rfc2396.html)を使用します。 – apokryfos

関連する問題