1. ホーム
  2. php

[解決済み] URLが有効かどうかを確認する最適な方法

2022-04-22 10:17:32

質問

に格納されている文字列が、PHPでチェックしたいのです。 $myoutput 変数に有効なリンク構文が含まれているのか、それとも普通のテキストなのか。私が探している関数またはソリューションは、GETパラメータを持つものを含むすべてのリンク形式を認識する必要があります。

多くのサイトで提案されているソリューションで、実際にクエリー文字列(CURL または file_get_contents() 関数)は、私のケースでは不可能なので、避けたいと思います。

正規表現か別の解決策を考えました。

どのように解決するのですか?

ネイティブの フィルタバリデータ

filter_var($url, FILTER_VALIDATE_URL);

値をURLとして検証する(" http://www.faqs.org/rfcs/rfc2396 ) 、オプションで必須コンポーネントを指定します。有効なURLは、HTTPプロトコルを指定しない場合があることに注意してください。 http:// そのため、URLが期待されるプロトコル、例えば ssh:// や mailto: を使用しているかどうか、さらなる検証が必要になる場合があります。この関数は、ASCIIのURLのみが有効であると判断することに注意してください。国際化されたドメイン名(非ASCII文字を含む)は、失敗します。

if (filter_var($url, FILTER_VALIDATE_URL) === FALSE) {
    die('Not a valid URL');
}