Ben Robinson
Ben Robinson

Reputation:

Identifying if a URL is present in a string

Hi can someone help me identify if a url is present in a string using PHP?

I want to pull in a full string i.e. "Hi please visit http://domain.com/12345 today" and strip out the full url not just the domain name.

Thanks

Upvotes: 1

Views: 1065

Answers (2)

cgp
cgp

Reputation: 41381

You probably want something like this:

RegEx Guru: Detecting URLs in Text

Read up on this and understand the trade-offs of each approach. For me, \bhttp://\S+ is totally acceptable, because I'm not interested in catering to those who would put links with spaces (or surround their links with parens) into plain text... (but I'm not very accomodating I guess)

Upvotes: 2

Galen
Galen

Reputation: 30170

here's an example

$str = file_get_contents('http://www.sitepoint.com');

preg_match_all('~(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)~', $str, $matches);

print_r($matches);

Upvotes: 1

Related Questions