php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #45968 urlencode with a safe paremeter
Submitted: 2008-09-02 07:58 UTC Modified: 2020-11-05 13:07 UTC
Votes:1
Avg. Score:2.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: info at marcel-schlesinger dot de Assigned:
Status: Suspended Package: URL related
PHP Version: 6CVS-2008-09-02 (snap) OS:
Private report: No CVE-ID: None
 [2008-09-02 07:58 UTC] info at marcel-schlesinger dot de
Description:
------------
I looked myself and determined that the RFC3986 is very spongelike. Compared with other programming languages I noticed that everyone differently converts the RFC.
In Python there is a nice feature, that you can tell wich chars have to be safe urllib.quote(s, safe='~'). All chars except this one in the safe parameter are escaped.
With PHP you could do this only with a search & replace function which isn't very nice.
So i want to suggest, to add likewise one more parameter to the urlencode function.

Expected result:
----------------
echo urlencode("Test str \"'.-/", array('\'', '"'));

output:
Test+str+"'%2E%2D%2F

======

echo rawurlencode("Test str \"'.-/", array('\'', '"'));

output:
Test%20str%20"'%2E%2D%2F

Actual result:
--------------
echo urlencode("Test str \"'.-/");

output:
Test+str+%22%27.-%2F

======

echo rawurlencode("Test str \"'.-/");

output:
Test%20str%20%22%27.-%2F

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2016-12-31 00:28 UTC] cmb@php.net
-Package: Feature/Change Request +Package: URL related
 [2020-11-05 13:07 UTC] cmb@php.net
-Status: Open +Status: Suspended
 [2020-11-05 13:07 UTC] cmb@php.net
Given that this can be implemented in userland, this feature
request requires discussion for which this bug tracker is not
suitable.  If you, or anybody else, is still interested in having
this feature, please forward the request to the internals mailing
list[1].  For the time being, I'm suspending this ticket.

[1] <https://www.php.net/mailing-lists.php#internals>
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Thu Jan 02 21:01:28 2025 UTC