クエリ文字列 (& で区切られたパラメータ) を含む URL の PHP 検証関数が必要です。現在、URLを検証するための次の機能があります
$pattern = '/^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/';
echo preg_match($pattern, $url);
この関数は、次のような入力を正しく検証します
google.com
www.google.com
http://google.com
http://www.google.com
...等
ただし、パラメーター (クエリ文字列) が含まれている場合、これは URL を検証しません。たとえば。
http://google.com/index.html?prod=gmail&act=inbox
両方のタイプの URL 入力を受け入れる関数が必要です。助けてください。前もって感謝します。