¿Alguien me puede dar un resumen rápido de las diferencias, por favor?PHP preg_replace/preg_match vs PHP str_replace
En mi opinión, ¿ambos hacen lo mismo?
Gracias
¿Alguien me puede dar un resumen rápido de las diferencias, por favor?PHP preg_replace/preg_match vs PHP str_replace
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 la expresión regular, por ejemplo "/f.{2}/" coincidirá y reemplazará "foo", pero también "fey", "abeto", "zorro", "f12", etc.
[EDIT]
Vea usted 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;
La salida es:
str_replace: combatientes de barras, preg_replace: barhters barra
:)
str_replace
se acaba de sustituir 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 con un patrón no fijo llamado regular expression. Hay muchos "sabores" de expresión regular que son en su mayoría similares, pero tienen ciertos detalles diferentes; de lo que estamos hablando aquí es Perl Compatible Regular Expressions (PCRE).
Si le parecen iguales, entonces debe usar str_replace
.
Bueno, es bueno para las búsquedas dinámicas en patrones que no conoce, pero si conoce el patrón (incluso durante el tiempo de ejecución) puede crear el botón en ese momento y hacer str_ a menos que desee apresar diferentes partes al mismo tiempo . – My1
str_replace
búsquedas de apariciones de texto puro, mientras que preg_replace
para los patrones.
Hmm, realmente no veo una ventaja de preg_replace, parece un poco hit'n'miss! – benhowdle89
No ha preguntado sobre las ventajas, sino la diferencia entre las dos: D – mingos
¡No me quejo! Solo una observación ... – benhowdle89