¿Cuál es el equivalente del encodeURIcomponent de JavaScript en PHP?¿Cuál es el equivalente del encodeURIcomponent de JavaScript en PHP?
Respuesta
Probar rawurlencode
. O para ser más precisos:
function encodeURIComponent($str) {
$revert = array('%21'=>'!', '%2A'=>'*', '%27'=>"'", '%28'=>'(', '%29'=>')');
return strtr(rawurlencode($str), $revert);
}
Esta función funciona exactamente how encodeURIComponent
is defined:
encodeURIComponent
escapa todos los caracteres excepto los siguientes:, dígitos decimales alfabéticos,-
_
.
!
~
*
'
(
)
¿Has probado urlencode
?
sí. el problema es que no es completamente como encodeURI, convierte cada carácter, incluso^ Quería algo que funcionara exactamente de la misma manera sin tener que intervenir ^^. – Gal
http_build_query
function encodeURIComponent($string) { $result = ""; for ($i = 0; $i < strlen($string); $i++) { $result .= encodeURIComponentbycharacter(urlencode($string[$i])); } return $result; }function encodeURIComponentbycharacter($char) { if ($char == "+") { return "%20"; } if ($char == "%21") { return "!"; } if ($char == "%27") { return '"'; } if ($char == "%28") { return "("; } if ($char == "%29") { return ")"; } if ($char == "%2A") { return "*"; } if ($char == "%7E") { return "~"; } if ($char == "%80") { return "%E2%82%AC"; } if ($char == "%81") { return "%C2%81"; } if ($char == "%82") { return "%E2%80%9A"; } if ($char == "%83") { return "%C6%92"; } if ($char == "%84") { return "%E2%80%9E"; } if ($char == "%85") { return "%E2%80%A6"; } if ($char == "%86") { return "%E2%80%A0"; } if ($char == "%87") { return "%E2%80%A1"; } if ($char == "%88") { return "%CB%86"; } if ($char == "%89") { return "%E2%80%B0"; } if ($char == "%8A") { return "%C5%A0"; } if ($char == "%8B") { return "%E2%80%B9"; } if ($char == "%8C") { return "%C5%92"; } if ($char == "%8D") { return "%C2%8D"; } if ($char == "%8E") { return "%C5%BD"; } if ($char == "%8F") { return "%C2%8F"; } if ($char == "%90") { return "%C2%90"; } if ($char == "%91") { return "%E2%80%98"; } if ($char == "%92") { return "%E2%80%99"; } if ($char == "%93") { return "%E2%80%9C"; } if ($char == "%94") { return "%E2%80%9D"; } if ($char == "%95") { return "%E2%80%A2"; } if ($char == "%96") { return "%E2%80%93"; } if ($char == "%97") { return "%E2%80%94"; } if ($char == "%98") { return "%CB%9C"; } if ($char == "%99") { return "%E2%84%A2"; } if ($char == "%9A") { return "%C5%A1"; } if ($char == "%9B") { return "%E2%80%BA"; } if ($char == "%9C") { return "%C5%93"; } if ($char == "%9D") { return "%C2%9D"; } if ($char == "%9E") { return "%C5%BE"; } if ($char == "%9F") { return "%C5%B8"; } if ($char == "%A0") { return "%C2%A0"; } if ($char == "%A1") { return "%C2%A1"; } if ($char == "%A2") { return "%C2%A2"; } if ($char == "%A3") { return "%C2%A3"; } if ($char == "%A4") { return "%C2%A4"; } if ($char == "%A5") { return "%C2%A5"; } if ($char == "%A6") { return "%C2%A6"; } if ($char == "%A7") { return "%C2%A7"; } if ($char == "%A8") { return "%C2%A8"; } if ($char == "%A9") { return "%C2%A9"; } if ($char == "%AA") { return "%C2%AA"; } if ($char == "%AB") { return "%C2%AB"; } if ($char == "%AC") { return "%C2%AC"; } if ($char == "%AD") { return "%C2%AD"; } if ($char == "%AE") { return "%C2%AE"; } if ($char == "%AF") { return "%C2%AF"; } if ($char == "%B0") { return "%C2%B0"; } if ($char == "%B1") { return "%C2%B1"; } if ($char == "%B2") { return "%C2%B2"; } if ($char == "%B3") { return "%C2%B3"; } if ($char == "%B4") { return "%C2%B4"; } if ($char == "%B5") { return "%C2%B5"; } if ($char == "%B6") { return "%C2%B6"; } if ($char == "%B7") { return "%C2%B7"; } if ($char == "%B8") { return "%C2%B8"; } if ($char == "%B9") { return "%C2%B9"; } if ($char == "%BA") { return "%C2%BA"; } if ($char == "%BB") { return "%C2%BB"; } if ($char == "%BC") { return "%C2%BC"; } if ($char == "%BD") { return "%C2%BD"; } if ($char == "%BE") { return "%C2%BE"; } if ($char == "%BF") { return "%C2%BF"; } if ($char == "%C0") { return "%C3%80"; } if ($char == "%C1") { return "%C3%81"; } if ($char == "%C2") { return "%C3%82"; } if ($char == "%C3") { return "%C3%83"; } if ($char == "%C4") { return "%C3%84"; } if ($char == "%C5") { return "%C3%85"; } if ($char == "%C6") { return "%C3%86"; } if ($char == "%C7") { return "%C3%87"; } if ($char == "%C8") { return "%C3%88"; } if ($char == "%C9") { return "%C3%89"; } if ($char == "%CA") { return "%C3%8A"; } if ($char == "%CB") { return "%C3%8B"; } if ($char == "%CC") { return "%C3%8C"; } if ($char == "%CD") { return "%C3%8D"; } if ($char == "%CE") { return "%C3%8E"; } if ($char == "%CF") { return "%C3%8F"; } if ($char == "%D0") { return "%C3%90"; } if ($char == "%D1") { return "%C3%91"; } if ($char == "%D2") { return "%C3%92"; } if ($char == "%D3") { return "%C3%93"; } if ($char == "%D4") { return "%C3%94"; } if ($char == "%D5") { return "%C3%95"; } if ($char == "%D6") { return "%C3%96"; } if ($char == "%D7") { return "%C3%97"; } if ($char == "%D8") { return "%C3%98"; } if ($char == "%D9") { return "%C3%99"; } if ($char == "%DA") { return "%C3%9A"; } if ($char == "%DB") { return "%C3%9B"; } if ($char == "%DC") { return "%C3%9C"; } if ($char == "%DD") { return "%C3%9D"; } if ($char == "%DE") { return "%C3%9E"; } if ($char == "%DF") { return "%C3%9F"; } if ($char == "%E0") { return "%C3%A0"; } if ($char == "%E1") { return "%C3%A1"; } if ($char == "%E2") { return "%C3%A2"; } if ($char == "%E3") { return "%C3%A3"; } if ($char == "%E4") { return "%C3%A4"; } if ($char == "%E5") { return "%C3%A5"; } if ($char == "%E6") { return "%C3%A6"; } if ($char == "%E7") { return "%C3%A7"; } if ($char == "%E8") { return "%C3%A8"; } if ($char == "%E9") { return "%C3%A9"; } if ($char == "%EA") { return "%C3%AA"; } if ($char == "%EB") { return "%C3%AB"; } if ($char == "%EC") { return "%C3%AC"; } if ($char == "%ED") { return "%C3%AD"; } if ($char == "%EE") { return "%C3%AE"; } if ($char == "%EF") { return "%C3%AF"; } if ($char == "%F0") { return "%C3%B0"; } if ($char == "%F1") { return "%C3%B1"; } if ($char == "%F2") { return "%C3%B2"; } if ($char == "%F3") { return "%C3%B3"; } if ($char == "%F4") { return "%C3%B4"; } if ($char == "%F5") { return "%C3%B5"; } if ($char == "%F6") { return "%C3%B6"; } if ($char == "%F7") { return "%C3%B7"; } if ($char == "%F8") { return "%C3%B8"; } if ($char == "%F9") { return "%C3%B9"; } if ($char == "%FA") { return "%C3%BA"; } if ($char == "%FB") { return "%C3%BB"; } if ($char == "%FC") { return "%C3%BC"; } if ($char == "%FD") { return "%C3%BD"; } if ($char == "%FE") { return "%C3%BE"; } if ($char == "%FF") { return "%C3%BF"; } return $char; }
una respuesta válida, pero ... – BMiner
Aquí es donde una instrucción de interruptor es útil – Yada
La lógica de la respuesta es discutible para mí, de todos modos, las cadenas IF o SWITCH no funcionan bien en este caso. Este es un caso típico en el que una matriz indexada es la mejor solución, donde el valor de búsqueda es la clave. –
- 1. ¿Cuál es el equivalente del componente decodeURI de JavaScript en PHP?
- 2. ¿Tiene C# un equivalente al encodeURIComponent() de JavaScript?
- 3. ¿Cuál es el equivalente en Perl de $ _SERVER de PHP [...]?
- 4. ¿Cuál es el equivalente de InfiniteIterator de PHP en .NET?
- 5. ¿Cuál es el equivalente de setTimeout de JavaScript en qtScript?
- 6. ¿Cuál es el equivalente de Thread.sleep() de Java en JavaScript?
- 7. equivalente de Javascript del strtotime de php()?
- 8. ¿Cuál es el equivalente de JavaScript de var_dump o print_r en PHP?
- 9. ¿Cuál es el equivalente de php time() en mssql?
- 10. ¿Cuál es el equivalente de "has_key" en javascript?
- 11. ¿Cuál es el equivalente de .get en javascript?
- 12. ¿Cuál es el equivalente de C# al "self ::" de PHP?
- 13. ¿Cuál es el equivalente .NET de PHP var_dump?
- 14. ¿Cuál es el ASP.NET equivalente a memcached en PHP?
- 15. ¿Cuál es el JSP equivalente a json_encode (en PHP)?
- 16. javascript encodeURIComponent y convertir espacios en + símbolos
- 17. ¿Cuál es el equivalente de Perl a print_r() de PHP?
- 18. ¿Cuál es el equivalente de consulta MySQL de PHP strip_tags?
- 19. ¿Cuál es el equivalente de la preg_quote de PHP?
- 20. ¿Cuál es el equivalente de JavaScript de C# Server.URLEncode?
- 21. ¿Cuál es el equivalente Java de PHP var_dump?
- 22. ¿Cuál es el equivalente del pcolor de matlab en R?
- 23. ¿Cuál es el equivalente del programa de desvinculación en Windows?
- 24. ¿Cuál es el equivalente en rubí del getattr de python?
- 25. ¿Cuál es el ASP.Net equivalente al eco de PHP?
- 26. ¿Cuál es el equivalente de setTimeOut() javascript to Android?
- 27. ¿Cuál es el equivalente del System.Diagnostic.Process en WinRT (C#)?
- 28. ¿Cuál es el equivalente del bloque C# "using" en IronPython?
- 29. JavaScript equivalente de preg_replace PHP
- 30. ¿Cuál es el equivalente de Scala del ClassName.class de Java?
Una comparación agradable: http://devpro.it/examples/php_js_escaping.php – philfreo