私はプロジェクトに取り組んでおり、このプロジェクトでは、ユーザー入力が有効な URL であることを確認する必要があります。
URL で使用できるすべての文字に対して preg_match を作成しました。ただし、HTTP:///HTTPS:// が URL の前にない場合はエラーを表示するようにしています。
これが私がやったことです。
if(preg_match('/[^0-9a-zA-Z.\-\/:?&=#%_]/', $url) || substr($url, 0, 7) != "http://" || substr($url, 0, 8) != "https://") {
しかし、それはうまくいきません。OKメッセージが表示され続けます。ここで何が間違っているのかわかりません。助けていただければ幸いです。
if ステートメントは true または false を返します。そう
if(preg_match('/[^0-9a-zA-Z.\-\/:?&=#%_]/', $url) || substr($url, 0, 7) != "http://" || substr($url, 0, 8) != "https://") {
echo "true";
} else {
echo "false";
}
URLに有効なURLが入力されているかどうかを確認するだけです。私はそれを確認する必要はありません。HTTP:// または HTTPS:// があり、有効な URL 文字が含まれているかどうかを確認するだけです。