0
if (!filter_var($site, FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED))...

このバリデーターは次のことを示しています:
https://www.g-有効なアドレスとして!
www.google.com-無効なアドレスとして!

アドレスバーにアドレスを入力し、それが機能することがわかった場合、それは有効なアドレスである必要があります。およびその逆。そのようなバリデーターが1つ必要です。または-上記のコードに何かが欠けていますか?

4

2 に答える 2

4

www.google.comは有効なURLではありません。有効にするにはプロトコルが必要です。http://www.google.com

于 2013-01-15T22:05:50.313 に答える
3

php.netのユーザーコメントは次のように述べています。

「FILTER_FLAG_HOST_REQUIREDとFILTER_FLAG_SCHEME_REQUIREDが消えたことに注意してください。これらは以前に定数ページで説明されていましたが、validate_urlフィルターにはデフォルトでホストとスキームが必要になっているようです。」

このプロトコルは最近のPHPバージョンでは必須であり、無効にすることはできないようです。

于 2013-01-15T22:11:28.990 に答える