I have the below text displayed on the browser and trying to get the URL from the string. 

string 1 = voice-to-text from #switzerland: <http://bit.ly/lnpDC12D>

When I try to use preg\_match and trying to get the URL, but it fails

```
$urlstr = "";
preg_match('/\b((?#protocol)https?|ftp):\/\/((?#domain)[-A-Z0-9.]+)((?#file)\/[-A-Z0-9+&@#\/%=~_|!:,.;]*)?((?#parameters)\?[A-Z0-9+&@#\/%

=~_|!:,.;]*)?/i', $urlstr, $match);

echo $match[0];

```

I think #switzerland: has one more http// ... will it be problem ?

the above split works perfect for the below string,

voice-to-text: <http://bit.ly/jDcXrZg>