Reemplaza caracteres en un string

# strtr

(PHP 4, PHP 5, PHP 7, PHP 8)

strtr — Reemplaza caracteres en un string

### Descripción

function strtr(string `$string`, string `$from`, string `$to`): string

Firma alternativa (no soportada con argumentos nombrados):

function strtr(string `$string`, array `$replace_pairs`): string

Si se utilizan tres argumentos, strtr() devuelve el string `string` después de haber reemplazado cada carácter (de un octeto) del parámetro `from` por su equivalente en el parámetro `to`, cada ocurrencia de `$from[$n]` es reemplazada por `$to[$n]`, donde `$n` es un valor válido para cada argumento.

Si `from` y `to` son de tamaños diferentes, los caracteres adicionales en uno u otro serán ignorados. El tamaño de `string` será el mismo que el de los valores devueltos.

Si solo se utilizan dos argumentos, el segundo debe ser un array de la forma `array('from' => 'to', ...)`. El dato devuelto es un string en el que todas las ocurrencias de las claves del array han sido reemplazadas por los valores correspondientes. Las claves más largas serán utilizadas primero. Una vez que una subcadena es reemplazada, su nuevo valor no será buscado nuevamente.

En este caso, las claves y los valores pueden tener cualquier tamaño, asumiendo que no hay una clave vacía; así, el tamaño del valor devuelto puede diferir del de `string`. Sin embargo, esta función será más eficiente cuando todas las claves tengan el mismo tamaño.

### Parámetros

`string`

  El string a procesar.

`from`

  Los caracteres de origen.

`to`

  Los caracteres de reemplazo.

`replace_pairs`

  El parámetro `replace_pairs` puede ser utilizado en lugar de `to` y `from` y en este caso, será un array en la forma `array('from' => 'to', ...)`.

  Si `replace_pairs` contiene una clave que es un string vacío (`""`), el elemento es ignorado; a partir de PHP 8.0.0 se genera una `E_WARNING` en este caso.

### Valores devueltos

Devuelve el string modificado.

### Ejemplos

Ejemplo #1 Ejemplo con strtr()

    <?php
    $addr = "The river å";

    // Aquí, strtr() reemplaza octeto por octeto, por lo tanto
    // se asume aquí codificaciones de un solo octeto:
    $addr = strtr($addr, "äåö", "aao");
    echo $addr, PHP_EOL;
    ?>

El siguiente ejemplo muestra el uso de strtr() con dos argumentos. Observe la preferencia de los reemplazos (`h` no es utilizado porque hay coincidencias más largas) y cómo el texto reemplazado no es reutilizado posteriormente.

Ejemplo #2 Ejemplo con strtr() y 2 argumentos

    <?php
    $trans = array("h" => "-", "hello" => "hi", "hi" => "hello");
    echo strtr("hi all, I said hello", $trans);
    ?>

El ejemplo anterior mostrará:

    hello all, I said hi

Los dos comportamientos son diferentes. Con tres argumentos, strtr() reemplazará los octetos; con dos, puede reemplazar subcadenas más largas.

Ejemplo #3 Comparación de comportamiento de strtr()

    <?php
    echo strtr("baab", "ab", "01"),"\n";

    $trans = array("ab" => "01");
    echo strtr("baab", $trans);
    ?>

El ejemplo anterior mostrará:

    1001
    ba01

### Ver también

- str_replace() - Reemplaza todas las ocurrencias en una string
- preg_replace() - Buscar y reemplazar mediante expresión regular estándar

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open