strtr()
Introducción
La función strtr() en PHP traduce subcadenas dentro de una cadena. Es particularmente útil para el procesamiento de texto donde secuencias específicas deben reemplazarse de manera eficiente. Este artículo cubre su sintaxis, comportamiento y uso práctico.
Comprender la función strtr()
La función strtr() admite dos firmas:
Firma con array
strtr(string $str, array $replace) : stringAquí, $str es la cadena de entrada y $replace es un array asociativo que mapea subcadenas a sus reemplazos. La función reemplaza todas las ocurrencias de las claves con sus valores correspondientes.
Firma de tres argumentos
strtr(string $str, string $from, string $to) : stringEn esta forma, $from y $to deben tener la misma longitud. Cada carácter en $from se mapea al carácter en la misma posición en $to.
Comportamiento importante: strtr() reemplaza subcadenas utilizando un algoritmo de coincidencia más larga primero. Esto significa que los patrones superpuestos se resuelven priorizando la coincidencia más larga, y los reemplazos no se aplican recursivamente a la salida.
Ejemplo de uso
A continuación se muestra un ejemplo de uso de la función strtr() en PHP:
Ejemplo de PHP strtr()
<?php
$string = "Hello World!";
$translation_rules = array("H" => "J", "W" => "Z");
$translated_string = strtr($string, $translation_rules);
echo $translated_string;En el ejemplo anterior, definimos una cadena $string y un array asociativo $translation_rules. La función strtr() reemplaza las subcadenas especificadas ("H" y "W") con sus valores mapeados ("J" y "Z"). Tenga en cuenta que strtr() maneja subcadenas de varios caracteres y aplica los reemplazos en un solo paso sin recursión.
Conclusión
La función strtr() proporciona una manera eficiente de traducir subcadenas en PHP. Admite tanto el mapeo basado en arrays como la traducción carácter por carácter a través de la firma de tres argumentos. Debido a que opera en un solo paso utilizando la lógica de coincidencia más larga primero, generalmente es más rápida que str_replace() para múltiples reemplazos. Comprender estos comportamientos ayuda a los desarrolladores a elegir la herramienta adecuada para tareas de procesamiento de texto.
Práctica
¿Cuál es el propósito de la función strtr en PHP?