質問させてください。
入力された値が正しいURLじゃなかったらエラーを出したいのですがどうしたらいいでしょうか?

ちなみに
preg_match('/^(https?|ftp)(:\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)$/', $url)
これだとうまくいきませんでした。

よろしくお願いします。