mb_ereg_replace()を使用して、URLを<a>タグに置き換える処理を作っています。
そこで、URLの判別に次のようなルールの正規表現を作りたいんですが、なかなかうまく行きません…。

・URLを判定する正規表現
・ただし、「 :;」が含まれている場合は許可しない。

URLを判別する正規表現というのは、

(http:|https:)(\/\/[-_.!~*\')a-zA-Z0-9;\/?:\@&=+\$,%#]+)

で行ってるのですが、「 :;」を除外できません。
どなたかご助言頂けるとありがたいです。