Con PHP str_replace() se pueden buscar y reemplazar cadenas y caracteres dentro de un string o array. Esta función de PHP es muy usada y se parece en su utilización a PHP preg_replace(), también se suele usar para crear URLs amigables,
La documentación oficial explica que:
PHP str_replace() reemplaza todas las apariciones del string buscado con el string de reemplazo
Otras funciones interesantes de PHP para el manejo de cadenas son las siguientes: implode(), explode(), trim(), strlen(), preg_match(), substr() , wordwrap() y substr_count().
Sintaxis de PHP str_replace()
Vamos a ver la sintaxis de esta función:
1 |
str_replace ( $valor_a_buscar , $valor_de_reemplazo , $string , [$contador ] ) |
Y ahora explico los parámetros:
- La función devuelve un string o array dependiendo si los parámetros usados son un array.
- $valor_a_buscar (obligatorio): Es la cadena o caracter que queremos buscar dentro del string.
- $valor_de_reemplazo (obligatorio): Es el valor de por el cual queremos sustituir la cadena o caracter buscado.
- $string (obligatorio): Cadena en la que queremos hacer los reemplazos.
- $contador (opcional): Si se pasa esta variable se le adjudicará el número de reemplazos realizados.
Ejemplo básico de PHP str_replace()
He realizado este primer ejemplo para ver el uso de esta función con los parámetros obligatorios:
1 2 3 4 5 6 7 8 9 |
$cadena = "Esta es la cadena de ejemplo para sustituir un caracter"; echo $cadena; $resultado = str_replace("a", "A", $cadena); echo "La cadena resultante es: " . $resultado; $cadena2 = "Esta es la cadena de ejemplo para sustituir una cadena"; echo $cadena2; $resultado2 = str_replace("cadena", "CADENA", $cadena2); echo "La cadena resultante es: " . $resultado2; |
Explico este primer ejemplo que lo he dividido en 2 partes:
- En la primera sustitución sustituyo únicamente el caracter ‘a’ por ‘A’ y saco el resultado por pantalla.
- En la segunda, sustituyo la cadena ‘cadena’ por ‘CADENA’.
De esta manera sencilla podemos sustituir un caracter o string dentro de otra cadena.
Ejemplo de PHP str_replace() mostrando el contador
En este otro ejemplo además de hacer la sustitución saco por pantalla el número de sustituciones:
1 2 3 4 5 6 7 8 9 |
$cadena = "Esta es la cadena de ejemplo para sustituir un caracter"; echo $cadena; $resultado = str_replace("a", "A", $cadena, $contador); echo "<br><br>La cadena resultante es: " . $resultado . " --> con " . $contador . " reemplazos"; $cadena2 = "Esta es la cadena de ejemplo para sustituir una cadena"; echo $cadena2; $resultado2 = str_replace("cadena", "CADENA", $cadena2, $contador2); echo "<br><br>La cadena resultante es: " . $resultado2 . " --> con " . $contador2 . " reemplazos"; |
Esta segunda demo es casi idéntica a la anterior, la diferencia radica en que sacamos por pantalla el número de reemplazos con los parámetros $contador y $contador2.