PHP's urldecode in TypeScript
How to use
Install via yarn add locutus and import:
import { urldecode } from 'locutus/php/url/urldecode'.
Or with CommonJS: const { urldecode } = require('locutus/php/url/urldecode')
Use a bundler that supports tree-shaking so you only ship the functions you actually use. Vite, webpack, Rollup, and Parcel all handle this. For server-side use this is less of a concern.
Examples
These examples are extracted from test cases that automatically verify our functions against their native counterparts.
| # | code | expected result |
|---|---|---|
| 1 | urldecode('Kevin+van+Zonneveld%21') | 'Kevin van Zonneveld!' |
| 2 | urldecode('https%3A%2F%2Fkvz.io%2F') | 'https://kvz.io/' |
| 3 | urldecode('https%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3DLocutus%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a') | 'https://www.google.nl/search?q=Locutus&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a' |
| 4 | urldecode('%E5%A5%BD%3_4') | '\u597d%3_4' |
Notes
info on what encoding functions to use from: https://xkr.us/articles/javascript/encode-compare/ Please be aware that this function expects to decode from UTF-8 encoded strings, as found on pages served as UTF-8
Here's what our current TypeScript equivalent to PHP's urldecode looks like.
export function urldecode(str: string): string { |
Improve this function
Locutus is a community effort following The McDonald's Theory: we ship first iterations, hoping others will improve them. If you see something that could be better, we'd love your contribution.
View on GitHub · Edit on GitHub · View Raw
Star