str_replace regulares preg_replace_callback preg_replace preg_match online expresiones especiales ejemplos caracteres php preg-replace preg-match str-replace

regulares - PHP preg_replace/preg_match vs PHP str_replace



preg_replace_callback (3)

str_replace busca str_replace de texto puro mientras preg_replace busca patrones.

¿Alguien puede darme un resumen rápido de las diferencias por favor?

En mi opinión, ambos hacen lo mismo?

Gracias


str_replace reemplaza una ocurrencia específica de una cadena, por ejemplo, "foo" solo coincidirá y reemplazará eso: "foo". preg_replace hará coincidir las expresiones regulares, por ejemplo "/f.{2}/" coincidirá y reemplazará "foo", pero también "fey", "fir", "fox", "f12", etc.

[EDITAR]

Ver por ti mismo:

$string = "foo fighters"; $str_replace = str_replace(''foo'',''bar'',$string); $preg_replace = preg_replace(''/f.{2}/'',''bar'',$string); echo ''str_replace: '' . $str_replace . '', preg_replace: '' . $preg_replace;

El resultado es:

str_replace: bar fighters, preg_replace: bar barhters

:)


str_replace solo reemplazará una cadena fija con otra cadena fija, y será mucho más rápido.

Las funciones de expresión regular le permiten buscar y reemplazar un patrón no fijo llamado expresión regular . Hay muchos "sabores" de expresión regular que son en su mayoría similares pero tienen ciertos detalles que difieren; de la que estamos hablando aquí es Perl Compatible Regular Expressions ( PCRE ).

Si te parecen iguales, entonces deberías usar str_replace .