urlencode
En esta página
urlencode
Codifica como URL una cadena
Descripción#
urlencode(string $string): string
```php
Esta función es conveniente cuando se codifica una cadena a ser usada como la parte de consulta de una URL, como método práctico para pasar variables a la siguiente página.
## Parámetros
`string`
La cadena a ser codificada.
## Valores devueltos
Devuelve una cadena en la que todos los caracteres no-alfanuméricos excepto `-_.` han sido reemplazados con un signo de porcentaje (`%`) seguido por dos dígitos hexadecimales y los espacios son codificados como signos de suma (`+`). Esta es la misma codificación usada en los datos publicados desde un formulario WWW, es decir, el mismo mecanismo usado para el tipo de medios `application/x-www-form-urlencoded`. Este mecanismo difiere de la codificación en el [RFC 3986](https://datatracker.ietf.org/doc/html/rfc3986) (vea `rawurlencode`) en que, por razones históricas, los espacios son codificados como signos de suma (+).
## Ejemplos
Ejemplo de `urlencode`
El ejemplo anterior mostrará:
Ejemplo de `urlencode` y ejemplo de `htmlentities`
El ejemplo anterior mostrará:
foo: Data123!@- + bar: Not the same content as Data123!@- +
```php
Notas#
[!NOTE] Tenga cuidado con las variables que puedan coincidir con entidades HTML. Secuencias como &, © y £ son procesadas por el navegador y la entidad real es usada en lugar del nombre de variable deseado. Este es un problema obvio sobre el cual el consorcio W3 ha estado alertando a las personas por años. La referencia esta aquí: http://www.w3.org/TR/html4/appendix/notes.html#h-B.2.2.
PHP soporta la modificación del separador de argumentos al punto-y-coma sugerido por el W3C a través de la directiva .ini arg_separator. Desafortunadamente, la mayoría de agentes de usuario no envían datos de formularios en este formato separado por punto-y-coma. Una forma más portable es usar \& en lugar de & como separador. No es necesario modificar el valor arg_separator de PHP para esto. Déjelo como &, y simplemente codifique sus URLs usando
htmlentitiesohtmlspecialchars.
Véase también#
urldecode, htmlentities, rawurlencode, rawurldecode, RFC 3986