Reputation:
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
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
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