replace string PHP

Qué función usar para reemplazar texto en PHP

Compara reemplazo literal, traducción simultánea y patrones con un ejemplo de sustituciones encadenadas.

Tipo: Guía práctica Lectura: 4 min Actualizado: 2026-11-03
Ejemplo visual para Replace string en PHP: str_replace, patrones y casos seguros

Guía y comprobaciones

Elige según la regla de búsqueda

Si conoces el texto exacto, empieza por str_replace. Si buscas una forma, como espacios repetidos o un código con dígitos, una expresión regular puede describirla. Si tienes un mapa de fragmentos y no quieres que el resultado vuelva a transformarse dentro de la misma pasada, estudia strtr.

$texto = 'AB';
echo str_replace(['A', 'B'], ['B', 'C'], $texto), PHP_EOL; // CC
echo strtr($texto, ['A' => 'B', 'B' => 'C']), PHP_EOL; // BC

El primer resultado pasa por dos reemplazos sucesivos: después de convertir A en B, la siguiente sustitución también encuentra esa nueva B. El mapa de strtr no vuelve a procesar el texto que acaba de insertar. Esta diferencia importa al cambiar marcadores de una plantilla o abreviaturas.

Cuándo tiene sentido un patrón

Un patrón puede expresar «uno o más espacios o tabuladores», algo diferente de buscar la cadena de un solo espacio. Mantén el patrón fijo si la regla pertenece al programa.

$linea = "uno   dos\ttres";
$normalizada = preg_replace('/[ \t]+/', ' ', $linea);
if ($normalizada === null) {
    throw new RuntimeException('Patrón no válido');
}
echo $normalizada, PHP_EOL; // uno dos tres

No pongas una búsqueda del usuario directamente dentro de una expresión regular. Si sólo desea buscar texto, una función literal evita que caracteres como . o [ adquieran otro significado. Si necesitas incluir un fragmento literal dentro de un patrón controlado, consulta preg_quote y el delimitador utilizado.

Reemplazar no equivale a escapar

Quitar palabras como script no es una defensa para HTML. Tampoco hay que escapar SQL con una lista de sustituciones: usa consultas parametrizadas. El texto transformado debe codificarse o escaparse al entrar en su contexto de salida. En una plantilla, procura utilizar marcadores inequívocos y comprobar que no queden marcadores sin resolver; un reemplazo silencioso puede dejar una pantalla aparentemente válida con datos incompletos.

Preguntas frecuentes

¿strtr y str_replace siempre dan el mismo resultado?

No. Un mapa de strtr no vuelve a reemplazar lo insertado; las sustituciones sucesivas de str_replace pueden encadenarse.

¿Necesito expresiones regulares para cambiar una palabra?

No si buscas una cadena literal. Un patrón se justifica cuando la condición depende de una forma o estructura.

Documentación oficial

Fuentes consultadas

Fuentes y referencias

Consulta referencias útiles para ampliar o contrastar esta guía.

R

Autora de la guia

Redacción de Línea de Código

Publicación independiente de programación y trámites digitales

Guías con ejemplos y referencias oficiales para aprender programación y preparar gestiones digitales. Las solicitudes se completan en el organismo responsable.

Actualizado: 2026-11-03 Politica editorial Correcciones

Por que confiar

Contrastamos fuentes oficiales, actualizamos piezas clave y priorizamos estructura, contexto y enlazado interno por encima del relleno.

Compartir

Guarda o comparte esta guia con el enlace limpio.