Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Encode the url including hyphen(-) and dot(.) in php

I need the encoded URL for processing in one of the API, but it requires the full encoded URL. For example, the URL from:

http://test.site-raj.co/999999?lpp=1&px2=IjN

has to become an encoded URL, like:

http%3a%2f%test%site%2draj%2eco%2f999999%3flpp%3d1%26px2%3dIjN

I need every symbol to be encoded, even the dot(.) and hyphen(-) like above.

like image 377
Rajasekar PHP Avatar asked Aug 23 '12 13:08

Rajasekar PHP


People also ask

How encode URL in PHP?

PHP | urlencode() Function The urlencode() function is an inbuilt function in PHP which is used to encode the url. This function returns a string which consist all non-alphanumeric characters except -_. and replace by the percent (%) sign followed by two hex digits and spaces encoded as plus (+) signs.

What is %20 URL encode?

URLs cannot contain spaces. URL encoding normally replaces a space with a plus (+) sign or with %20.


1 Answers

Try this. Inside a function maybe if you are using it more than once...

$str = 'http://test.site.co/999999?lpp=1&p---x2=IjN';
$str = urlencode($str);
$str = str_replace('.', '%2E', $str);
$str = str_replace('-', '%2D', $str);
echo $str;
like image 81
Dênis Montone Avatar answered Sep 28 '22 07:09

Dênis Montone