src/Str.php
public static function isUrl($url, $opts = array())
	{
		$opts = \array_merge(array(
			'requireSchema' => true,
		), $opts);
		$urlRegEx = '@^'
			.($opts['requireSchema']
				? 'https?://'
				: '(https?://)?'
				)
			.'[-\w\.]+'		// hostname
			.'(:\d+)?'		// port
			// .'(/([-\w/\.]*(\?\S+)?)?)?@';
			.'('
				.'/'
				.'('
					.'[-\w/\.,%:]*'	// path
					.'(\?\S+)?'		// query
					.'(#\S*)?'		// fragment/hash
				.')?'
			.')?'
			.'$@';
		return \preg_match($urlRegEx, $url) > 0;
	}
public static function isUrl($url, $opts = array())
	{
		$opts = \array_merge(array(
			'requireSchema' => true,
		), $opts);
		$urlRegEx = '@^'
			.($opts['requireSchema']
				? 'https?://'
				: '(https?://)?'
				)
			.'[-\w\.]+'		// hostname
			.'(:\d+)?'		// port
			// .'(/([-\w/\.]*(\?\S+)?)?)?@';
			.'('
				.'/'
				.'('
					.'[-\w/\.,%:]*'	// path
					.'(\?\S+)?'		// query
					.'(#\S*)?'		// fragment/hash
				.')?'
			.')?'
			.'$@';
		return \preg_match($urlRegEx, $url) > 0;
	}
public static function isUrl ( $ url , $ opts = array ( ) ) { $ opts = \ array_merge ( array ( 'requireSchema' => true , ) , $ opts ) ; $ urlRegEx = '@^' . ( $ opts [ 'requireSchema' ] ? 'https?://' : '(https?://)?' ) . '[-\w\.]+' // hostname . '(:\d+)?' // port // .'(/([-\w/\.]*(\?\S+)?)?)?@'; . '(' . '/' . '(' . '[-\w/\.,%:]*' // path . '(\?\S+)?' // query . '(#\S*)?' // fragment/hash . ')?' . ')?' . '$@' ; return \ preg_match ( $ urlRegEx , $ url ) > 0 ; }
Is the passed string a URL?

@param string $url  string/URL to test
@param array  $opts options

@return boolean
Is the passed string a URL?