Мне нужен кодированный URL для обработки в одном из API. Но для этого требуется полный закодированный URL-адрес
Например:
URL из
http://test.site-raj.co/999999?lpp=1&px2=IjN
для кодированного URL-адреса, как показано ниже
http%3a%2f%test%site%2draj%2eco%2f999999%3flpp%3d1%26px2%3dIjN
Мне нужен любой другой символ для кодирования даже Dot (.) И дефис (-), как указано выше. Пожалуйста, дайте мне знать любую функцию в php / code, чтобы сделать это.
Благодарю.
Попробуй это. Внутри функции может быть, если вы используете ее более одного раза …
$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;
Это будет кодировать все символы, которые не являются простыми буквами или цифрами. Вы все еще можете декодировать это со стандартным urldecode или rawurldecode:
function urlencodeall($x) { $out = ''; for ($i = 0; isset($x[$i]); $i++) { $c = $x[$i]; if (!ctype_alnum($c)) $c = '%' . sprintf('%02X', ord($c)); $out .= $c; } return $out; }
Почему бы вам не использовать rawurlencode
например rawurlencode("http://test.site-raj.co/999999?lpp=1&px2=IjN")