Algunas reflexiones sobre el uso y las diferencias entre str_replace y preg_relace

Las dos funciones del sistema PHP str_replace y preg_relace son funciones utilizadas para "reemplazo". str_replace se usa principalmente para reemplazar cadenas, mientras que preg_relace, como su nombre lo indica, se usa para reemplazar expresiones regulares. Este artículo ilustrará su uso específico y sus diferencias con ejemplos.

Uso de str_replace

1. Reemplazo de cadena,
por ejemplo, variable a = 'sina, sohu, ityang', quiero esto a='sina, sohu, ityang', quiero estoa=está en una , _ _entonces eh _ _ _es y yang ' , _ _ _Quiero reemplazar sina en esta cadena a con qq, luego usar la función str_replace de esta manera:

$a = str_replace('sina','qq',$a);

De esta forma, la sustitución se realiza con éxito. El primer parámetro es la cadena que se va a encontrar, el segundo parámetro es la cadena que se va a reemplazar y el tercer parámetro es la variable que se va a generar.

2. Reemplazo de str_replace con forma de matriz
o variable $a='sina,sohu,ityang', quiero reemplazar sina con qq, sohu con google, así que use la función str_replace:

$a = str_replace(array('sina','sohu'),array('qq','google'),$a);

De esta manera, se reemplazan dos cadenas diferentes al mismo tiempo. Este uso es muy útil. La diferencia con el primer caso es que las matrices se pueden usar para manejar múltiples requisitos de reemplazo al mismo tiempo, lo que se denomina reemplazo de imagen de matriz.
Nota: str_replace no puede realizar un reemplazo regular

preg_relace reemplazo de expresión regular

1. No es necesario utilizar el resultado coincidente.
Por ejemplo, hay una cadena a = ' ityang − 66 '. Esta cadena puede tener muchas formas posibles. También puede ser a='ityang-66', que puede tener muchas formas También podría sera=' es y a n g _6 6 ' , esta cadena puede tener muchas formas , también puede ser a='ityang-26′, o 'ityang-38′, 'ityang-99', pero todas tienen una característica, 'ityang-' va seguida de un número. En este momento, se deben utilizar expresiones regulares para hacer coincidir.
¿Qué debo hacer si quiero reemplazar los siguientes números con la letra "nums"? Mira el siguiente código:

$a = preg_replace('/ityang-([0-9]+)/','nums',$a);

El primer parámetro es una expresión regular, y el contenido dentro de '//' representa la expresión regular. No entraré en muchos detalles sobre el significado y el uso de las expresiones regulares aquí. Lo que coincide aquí es el significado de una cadena que comienza con ityang- seguido de números. , lo que está dentro del paréntesis es el resultado coincidente, puede haber varios paréntesis, luego son los diferentes grupos coincidentes, el segundo parámetro es qué reemplazar y el tercer parámetro es qué variable generar.

2. El caso en el que es necesario utilizar el resultado coincidente
sigue siendo un ejemplo del primer caso. No estoy reemplazando los números con las letras "nums", sino que agrego una cadena "-list" después del número, es decir, " ityang-1" se convierte en "ityang-1-list". En este momento, se debe utilizar el resultado coincidente.

$a = preg_replace('/ityang-([0-9]+)/','ityang-${1}-list',$a);

El segundo parámetro ${1} es el resultado de la coincidencia de la expresión regular. 1 significa lo que está dentro del primer corchete. Aquí solo hay un corchete, y así sucesivamente.
Este es el uso básico de las funciones de reemplazo regular str_replace y preg_relace. Una vez que domine el uso básico, podrá usarlas de manera flexible para resolver muchos problemas. Estas dos funciones son funciones muy comunes para procesar cadenas y son muy poderosas.

{preg_replace("/[0-9]/","*",$t.content)}

Reemplace todos los números en el campo de contenido con "*". Este es el ejemplo de reemplazo del cms que estoy usando ahora. ¡No lo ignore! ¡Solo estoy tomando nota!

Supongo que te gusta

Origin blog.csdn.net/likeni1314/article/details/88323149
Recomendado
Clasificación