*   >> Lectura Educación Artículos >> tech >> desarrollo web

Usar expresiones regulares en Php

El uso de expresiones regulares en PHP PHP expresiones regulares - Parte VII Introducción Hemos visto algunos usos de expresiones regulares en PHP. Sabemos cómo comprobar si una expresión regular se encuentra en una cadena de asunto. Sabemos cómo encontrar la posición de expresión regular coincidente en la cadena de asunto. Tenga en cuenta que la cadena de asunto puede ser una página entera de texto. En esta parte de la serie, vamos a aprender dos características importantes titulado "Buscar y reemplazar" y "La operación de división".

Antes de dejar esta parte vamos a hablar sobre el delimitador de expresiones regulares. Comencemos con una sección muy pequeños llamados Variables en Regex. Variable en Regex Antes de ver las dos características, seamos conscientes de que el patrón de expresión regular puede tener variables. El siguiente código funciona: $ var = "am"; $ var = "am"; si (preg_match ("/I $ var /", "Yo soy el único.")) echo "emparejada". "Else echo" No Emparejado> Aquí, tenemos la variable $ var = "am".

"?"; La expresión regular es /I $ var /que es /me /"estoy" en el patrón se sustituye por $ var; y coincidencia se produce Buscar y reemplazar Puede buscar una coincidencia en la cadena de asunto y tienen las cadenas de sub emparejado reemplazados. Considere la siguiente cadena de asunto: "Yo soy un hombre que eres un hombre.". La cadena de sub "hombre" se presenta en esta materia en dos lugares. Usted puede tener todas las apariciones de la subcadena "hombre" reemplazado a mujer. El siguiente código hace esto: $ finalStr = preg_replace ("/hombre /", "mujer", ".

Soy un hombre Usted es un hombre."); echo $ finalStr; ?> Usted tiene la función, preg_replace (). El primer argumento de esta función es la expresión regular. El segundo argumento es la cadena de sub para reemplazar la cadena sub acompañado de la expresión regular. El tercer argumento es el tema. Esta función devuelve la cadena de asunto en el que todas las cadenas de sub coincidentes han sido reemplazados. Si se ha producido ninguna coincidencia, se devuelve la cadena original. Si se produce un error, se devuelve NULL.

La segunda declaración del código anterior se hace eco de la cadena devuelta. Esto es lo que se hizo eco: Soy una mujer. Eres una mujer. Así, se puede utilizar la función preg_replace () para buscar cadenas secundarias mediante una expresión regular y tienen todas las cadenas secundarias se encuentran sustituidos por alguna cadena sub reemplazo. La subcadena de reemplazo es el segundo argumento de la función. Si hay muchos partidos, es posible que usted pueda reemplazar algunos de ellos, a partir de la primera. Para ello, se necesita un cuarto argumento opcional.

Considere el siguiente tema: "Yo soy un hombre Usted es un hombre Esa persona es un hombre..." Hay tres apariciones de la palabra "hombre". Tengamos sólo los dos primeros reemplazado. Este código siguiente hace esto: $ finalStr = preg_replace ("/hombre /", "mujer", ". Soy un hombre Usted es un hombre Esa persona es un hombre..", 2); echo $ finalStr; ?> Un cuarto argumento ha sido añadido. Queremos que las dos primeras apariciones de la cadena sub, "hombre" para ser reemplazado, así que pusimos 2 como el cuarto argumento.

El cuarto argumento es el número de ocurrencias del partido, que desea reemplazar. La segunda declaración en el código anterior se hace eco de la cadena resultante como, soy una mujer. Eres una mujer. Esa persona es un hombre. Este cuarto argumento es opcional. Si pones -1 no significa que usted desea que todas las apariciones de la cadena sub adaptado a ser sustituidos; este es el comportamiento por defecto en ausencia del -1. El siguiente ejemplo ilustra el uso del -1. $ finalStr = preg_replace ("/hombre /", "mujer", "Yo soy un hombre Usted es un hombre Esa persona es un hombre...

", -1); echo $ finalStr; ?> La salida del código es: Yo soy una mujer. Eres una mujer. Esa persona es una mujer. Hasta ahora hemos visto la función preg_match (), la función preg_match_all () y ahora la función preg_replace (). Contar el número de reemplazo Fabricado Hay un quinto argumento opcional para la función preg_replace (). Esta es una variable. Solo tiene que elegir cualquier nombre que desee para la variable. El siguiente código ilustra esto: $ finalStr = preg_replace ("/hombre /", "mujer", "Yo soy un hombre que eres un hombre Esa persona es un hombre...

", 2, $ count); echo $ finalStr. "echo $ count". ?> Mira los argumentos de la función muy bien. El primer argumento es la expresión regular. El segundo es la cadena de reemplazo. El tercero es el tema; tiene tres apariciones de la palabra "hombre". El cuarto da el número de reemplazo que queremos; es 2. El quinto es la variable que contendrá el número de sustituciones realizadas efectivamente. La salida del código es, soy una mujer. Eres una mujer. Esa persona es un hombre. 2 El cuarto argumento quería dos reemplazos y se hicieron dos reemplazos.

La última declaración en el código indica la cantidad de sustitución efectivamente realizados; se muestra el valor de la variable, que es el quinto argumento. No es necesario que usted ha declarado esta variable en otro lugar, antes. Es posible que usted no sabe el número de partidos en el tema, y ​​que se quiere reemplazar todos los partidos posibles y saber el número de reemplazo. En este caso el cuarto argumento será -1 y que necesitaría el quinto argumento.

El siguiente código ilustra esto: $ finalStr = preg_replace ("/hombre /", "mujer", "Yo soy un hombre que eres un hombre Esa persona es un hombre...", -1, $ Count); echo $ finalStr. "echo $ count". ?> Aquí todos los partidos serían reemplazados y $ conteo celebrarían el número de reemplazo, después de la ejecución de la función. La salida del código anterior es, soy una mujer. Eres una mujer. Esa persona es una mujer. 3 Tres es el número de reemplazo de hecho. La operación de división Existe una función para esto.

Una sintaxis de la función es: preg_split array (string $ regex, string $ sujeto) La función preg_split split () divide una cadena en una matriz de cadenas secundarias y devuelve la matriz. Se utiliza una expresión regular como separador. Sé defecto la expresión regular no es ningún elemento de la matriz devuelta. Considere la siguiente cadena de asunto: $ subject = "uno dos tres"; Si conocemos el patrón de expresión regular para identificar el espacio entre las palabras, entonces podemos dividir esta cadena en una matriz formada por las palabras, "uno", "dos" y "tres".

\\ Es la clase de caracteres de espacio. \\ + Coincidirá con un espacio, una o más veces. La expresión regular para separar las palabras de arriba es \\\\ + \\ Suponemos que un espacio puede ser creado por golpear la barra espaciadora más de una vez. El siguiente código muestra el uso de la función de división con el modelo anterior. $ subject = "uno dos tres"; $ arr = preg_split ("/\\ + /", $ sujeto); $ arr eco [0]. "echo $ arr [1]." .? echo $ arr [2] "> En la cadena de asunto las palabras están separadas por espacios La salida del código anterior es:.

uno dos tres El derramó función ha dividido las palabras en la cadena de asunto usando el espacio entre las palabras, y poner cada palabra como un elemento de la matriz devuelta Es posible tener palabras en una cadena separada por una coma y un espacio, como $ subject = "uno, dos, tres"; La expresión regular para separar estas palabras es:. /, \\ + /El siguiente código ilustra esto:. $ subject = "uno, dos, tres"; $ arr = preg_split ("/, \\ + /", $ sujeto); echo $ arr [0] " echo $ arr [1]. "echo $ arr [2].

" ?> La salida del código anterior es: uno dos tres Una sintaxis simplificada del preg_replace () es: $ StrWithRepl = preg_replace (regex string, string $ reemplazo, string $ sujeto); De la explicación que he dado antes, la sintaxis aquí se explica por sí. Los delimitadores Debe siempre utilizar los //delimitadores para la expresión regular? No. PHP te da la posibilidad de utilizar delimitadores de su elección.

Los siguientes expresiones, cada uno produce una coincidencia: preg_match ("! Mundo", "Hello World") preg_match ("{Mundial}", "Hello World") preg_match ("'World'", "Hello World") El //delimitadores predeterminados para un partido se pueden cambiar para delimitadores arbitrarias. En el primer ejemplo, los delimitadores son !!. En la segunda expresión los delimitadores son {}. En el tercer ejemplo, los delimitadores son ''. El código siguiente ilustra el tercer caso: if (preg_match ("'World'", "Hello World")) echo "Matched". "Else echo" No Igualados ".

"?>

Page   <<       [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Lectura Educación Artículos,https://lectura.nmjjxx.com All rights reserved.