Funciones de strings
PHP Manual

strtr

(PHP 4, PHP 5)

strtrTraduce ciertos caracteres o reemplaza substrings

Descripción

string strtr ( string $str , string $from , string $to )
string strtr ( string $str , array $replace_pairs )

Si se dan tres argumentos, esta función devuelve una copia de str donde todas las apariciones de cada caracter (byte simple) en from ha sido traducido al caracter correspondiente en to es decir, todas las apariciones de $from[$n] han sido reemplazadas con $to[$n], donde $n es un desplazamiento válido en ambos argumentos.

Si from y to tienen distinta logitud, se ignoran los caracteres extra del string más largo. La longitud de str será la misma que la del valor devuelto.

Si se dan dos argumentos, el segundo debe ser un array en la forma de array('from' => 'to', ...). El valor devuelto es un string donde todas las apariciones de las claves del array han sido reemplazadas por los valores correspondientes. Las claves más largas se intentarán primero. Una vez una substring ha sido reemplazada, su nuevo valor no será buscado de nuevo.

En este caso, las claves y los valores pueden tener cualquier longitud, siempre que no haya llaves vacías; adicionalmente, la longitud del valor devuelto puede diferir de la de str. Sin embargo, esta función será la más eficiente cuando todas las claves tienen el mismo tamaño.

Parámetros

string

Tipo string La cadena que se está traduciendo.

from

Tipo string sus caracteres serán reemplazado por to.

to

Tipo string los caracteres que reemplazarán a from.

replace_pairs

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

Valores devueltos

Devuelve el string traducido.

Si el replace_pairs contiene una clave con una string vacía (""), se devolverá FALSE.

Ejemplos

Ejemplo #1 Ejemplo de strtr()

<?php
//En esta forma, strtr() hace una traducción byte por byte
//Por lo tanto, se asume una codificación de un solo byte aquí:
$addr strtr($addr"äåö""aao");
?>

El siguiente ejemplo muestra el comportamiento de strtr() cuando se llama con sólo dos argumentos. Tenga en cuenta la preferencia de los reemplazos ("h" no se toma porque hay emparejamientos más largos) y como el texto remplazado no fue buscado de nuevo.

Ejemplo #2 Ejemplo de strtr() con 2 argumentos

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

El resultado del ejemplo sería:

hello all, I said hi

Los dos modos de comportamiento son muy diferentes. Con tres argumentos strtr() reemplazará bytes; con dos, puede reemplazar substrings más largas.

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

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

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

El resultado del ejemplo sería:

1001
ba01

Ver también


Funciones de strings
PHP Manual