Reputation:
I have a string in php and I want to convert it into a URL,Basically I am taking input from the user so I am not sure either he write http://www.google.com
or just www.google.com
or maybe just google.com
, In either cases I have to show him the URL link in an anchor tag.
I am looking for any PHP function that can do this,
Otherwise I have to manually search for http
and other If else condition will surely gonna waste my time,If there is no function I would be more than happy to write one and make it open to the community.
EDIT:
Another thing is the best way to write HTML in PHP, I mean is it good if we use echo' long HTML Forms' etc
any solution
Thanks
Upvotes: 3
Views: 18013
Reputation: 281
You can use parse_url() who will try to parse input into part. And you just have to check if "scheme" is here to know how to complete url.
If you want to validate input, you can use filter_var() with FILTER_VALIDATE_URL option
filter_var($input, FILTER_VALIDATE_URL) ) ? echo "Valid url" : echo "invalid url";
Upvotes: 0
Reputation: 894
you can still use parse_url function
$parsed = parse_url($urlStr);
if (empty($parsed['scheme'])) {
$urlStr = 'http://' . ltrim($urlStr, '/');
}
about writing html with PHP, it's okay to use echo function, just make sure you escape the double quotes with backslash
Upvotes: 7
Reputation: 2055
Use the substr() functoin for existence of HTTP and if not present add HTTP, put the string as Href in the anchor tag.Surely gonna work
Upvotes: 0
Reputation: 2277
I think you are looking for parse_url
http://php.net/manual/en/function.parse-url.php
Upvotes: 2