summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/url/urlencode.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/locutus/php/url/urlencode.js')
-rw-r--r--node_modules/locutus/php/url/urlencode.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/node_modules/locutus/php/url/urlencode.js b/node_modules/locutus/php/url/urlencode.js
new file mode 100644
index 0000000..6608ff7
--- /dev/null
+++ b/node_modules/locutus/php/url/urlencode.js
@@ -0,0 +1,37 @@
+'use strict';
+
+module.exports = function urlencode(str) {
+ // discuss at: http://locutus.io/php/urlencode/
+ // original by: Philip Peterson
+ // improved by: Kevin van Zonneveld (http://kvz.io)
+ // improved by: Kevin van Zonneveld (http://kvz.io)
+ // improved by: Brett Zamir (http://brett-zamir.me)
+ // improved by: Lars Fischer
+ // input by: AJ
+ // input by: travc
+ // input by: Brett Zamir (http://brett-zamir.me)
+ // input by: Ratheous
+ // bugfixed by: Kevin van Zonneveld (http://kvz.io)
+ // bugfixed by: Kevin van Zonneveld (http://kvz.io)
+ // bugfixed by: Joris
+ // reimplemented by: Brett Zamir (http://brett-zamir.me)
+ // reimplemented by: Brett Zamir (http://brett-zamir.me)
+ // note 1: This reflects PHP 5.3/6.0+ behavior
+ // note 1: Please be aware that this function
+ // note 1: expects to encode into UTF-8 encoded strings, as found on
+ // note 1: pages served as UTF-8
+ // example 1: urlencode('Kevin van Zonneveld!')
+ // returns 1: 'Kevin+van+Zonneveld%21'
+ // example 2: urlencode('http://kvz.io/')
+ // returns 2: 'http%3A%2F%2Fkvz.io%2F'
+ // example 3: urlencode('http://www.google.nl/search?q=Locutus&ie=utf-8')
+ // returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3DLocutus%26ie%3Dutf-8'
+
+ str = str + '';
+
+ // Tilde should be allowed unescaped in future versions of PHP (as reflected below),
+ // but if you want to reflect current
+ // PHP behavior, you would need to add ".replace(/~/g, '%7E');" to the following.
+ return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');
+};
+//# sourceMappingURL=urlencode.js.map \ No newline at end of file