Identificando se um URL está presente em uma string

Oi, alguém pode me ajudar a identificar se um url está presente em uma string usando o PHP?

Eu quero puxar uma string completa, ou seja, “Oi, visite http://domain.com/12345 hoje” e remova o URL completo não apenas o nome do domínio.

obrigado

Você provavelmente quer algo assim:

RegEx Guru: Detectando URLs em texto

Leia isso e compreenda os trade-offs de cada abordagem. Para mim, \bhttp://\S+ é totalmente aceitável, porque não estou interessado em atender aqueles que colocam links com espaços (ou envolvem seus links com parens) em texto simples … (mas não sou muito adormecido, acho)

aqui é um exemplo

 $str = file_get_contents('http://www.sitepoint.com'); preg_match_all('~(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)~', $str, $matches); print_r($matches);