Ús de la funció preg_match () a PHP

Use Preg_match Function Php



L’expressió regular és un patró particular que es pot utilitzar per fer coincidir, cercar i reemplaçar qualsevol cadena particular de les dades de text. És una característica potent de qualsevol llenguatge de programació. S’utilitza principalment per realitzar diferents tipus de validacions de formularis, com ara validar el correu electrònic, comprovar el format del telèfon, validar els camps de nom d’usuari i contrasenya del formulari d’inici de sessió, etc. Qualsevol contingut concret del text es pot cercar i substituir mitjançant una expressió regular. patró. També s’anomena regex o RegExp. S’utilitzen diferents tipus de símbols per definir el patró d’expressió regular.

Existeixen moltes funcions integrades en PHP per a l’expressió regular. preg_match () és una d’elles. Aquesta funció s'utilitza per fer coincidir un patró concret en dades de cadenes. En aquest tutorial s’explica com es pot utilitzar la funció preg_match () en PHP per realitzar diverses tasques.







Sintaxi:

Int ofals preg_match (corda$ patró,corda$ subjecte [, matriu &$ coincidències = nul [,int$ banderes = 0 [,int$ compensació = 0]]])

Aquesta funció pot adoptar cinc arguments. El primer argument, $ patró , és obligatori, que defineix el patró de coincidència. El segon argument, $ subjecte , és obligatori i conté les dades de cadena en què s'aplicarà el patró. El tercer argument, $ coincidències , és opcional i retorna una matriu basada en la coincidència. El quart argument, $ banderes , és opcional, que conté diferents tipus de valors de marca segons la concordança. El cinquè argument, $ compensació , és opcional i es pot utilitzar per definir la posició inicial de la cerca.



Exemple 1: feu coincidir el patró de manera sensible a majúscules i minúscules

L'exemple següent mostra l'ús de la funció preg_match () per fer coincidir la cadena de manera sensible a majúscules i minúscules. Creeu un fitxer PHP amb el següent script.



Aquí s’utilitzen tres patrons per aplicar en tres funcions preg_match (). El primer patró, '/M'agrada/', s'utilitza per fer coincidir la cadena de manera sensible a majúscules i minúscules. El segon patró, '/M'agrada/' , s'utilitza per fer coincidir la cadena de manera sensible a majúscules i minúscules. El tercer patró, 'M'agrada / i' , s’utilitza per fer coincidir la cadena d’una manera que no distingeix entre majúscules i minúscules. search_pattern () La funció es defineix a l'script per utilitzar la funció preg_match () per coincidir i imprimeix el missatge en funció del valor retornat d'aquesta funció.







// Definiu el text

$ text = 'M'agrada PHP. També m'agrada JavaScript. ';

// Definiu tres tipus de patró

$ patró1 = '/M'agrada/';

$ patró2 = '/M'agrada/';

$ patró3 = '/ M'agrada / i';

// Definiu la funció per cercar el patró al text

funciópatró_cerca($ patró, $ string)

{

si( preg_match ($ patró, $ string))

trobo Resultat de la cerca: Es troba la coincidència per al patró -$ patró
'
;

en cas contrari

trobo Resultat de la cerca: La coincidència no s'ha trobat per al patró -$ patró
'
;

}

// Imprimeix el text original

trobo 'El text original és: $ text
'
;

// Truqueu la funció tres vegades per a tres patrons

patró_cerca($ patró1, $ text);

patró_cerca($ patró2, $ text);

patró_cerca($ patró3, $ text);

?>

Sortida :

La següent sortida apareixerà després d'executar l'script des del servidor. La primera línia mostra el text on s'han cercat els patrons. La segona línia mostra la sortida del primer patró. La tercera línia mostra la sortida del segon patró. La quarta línia mostra la sortida del tercer patró.



Exemple 2: validar l'URL

L'exemple següent mostra la manera de validar l'adreça URL mitjançant la funció preg_match (). Creeu un fitxer PHP amb el següent script.

S'assigna un valor d'URL a la variable $ url per a la prova. La cadena ‘@ ^ (?: Https: //)? ([^ /] +) @I’ s’utilitza com a patró a la funció preg_match () per comprovar si l’adreça URL és vàlida o no. Si és vàlid, s'imprimiran el nom d'amfitrió i el nom de domini, en cas contrari s'imprimirà el missatge d'error.



// Definiu l'URL

$ url = 'Https://www.linuxhint.com';

// Definiu el patró per validar l'URL

$ patró ='@ ^ (?: https: //)? ([^ /] +) @i';

// Comproveu que l'URL sigui vàlid o no

si( preg_match ($ patró, $ url, $ coincidències1))

{

// Imprimiu el missatge d'èxit

trobo 'L'URL és vàlid.
'
;

// Imprimiu la matriu que conté els valors de coincidència

trobo 'Els valors de la matriu són:';

imprimir_r ($ coincidències1);

// Recupereu i imprimiu el valor de l'amfitrió

$ host = $ coincidències1[1];

trobo '
El nom de l'amfitrió és:$ host'
;

// Cerqueu el nom de domini des del valor de l'amfitrió

preg_match ('/[^.]+.[^.]+$/', $ host, $ coincidències2);

trobo '
El nom de domini és:{$ matches2 [0]}'
;

}

en cas contrari

{

// Imprimiu el missatge d'error

trobo 'URL no vàlid'.;

}

?>

Sortida :

La següent sortida apareixerà després d'executar l'script des del servidor. L'URL proporcionat a l'script és vàlid. Per tant, la sortida mostra els valors de $ matches, el nom d'amfitrió de l'URL i el nom de domini de l'URL.

Exemple 3: patró de cerca amb valors de marca i desplaçament

L'exemple següent mostra els usos dels valors de bandera i desplaçament a la funció preg_match (). Creeu un fitxer PHP amb el següent script.

S'utilitzen tres patrons a l'script per a tres tipus de coincidència. A la primera funció preg_match (), s’utilitza ‘/ (bangla) (desh) /’ com a patró i valor de bandera, s’utilitza PREG_OFFSET_CAPTURE. Els valors del fitxer $ coincidències La variable s'imprimirà en funció de la sortida de la primera funció preg_match (). A la segona funció preg_match (), s’utilitza ‘/ (bangla) (glad) * (desh) / i’ com a patró i valor de bandera, s’utilitza PREG_UNMATCHED_AS_NULL. Si alguna part del patró no coincideix, s'emmagatzemarà un valor NULL a la matriu. Els valors del fitxer $ coincidències La variable s'imprimirà en funció de la sortida de la segona funció preg_match (). A la tercera funció preg_match (), s’utilitza ‘/ glad /’ com a patró, el valor del senyalador, s’utilitza PREG_OFFSET_CAPTURE i s’utilitza 3 com a valor de desplaçament. Els valors del fitxer $ coincidències La variable s'imprimirà en funció de la sortida de la tercera funció preg_match ().



// Definiu el valor del text

$ text = 'Bangladesh';

// Definiu tres tipus de patrons

$ patró1 = '/ (bangla) (desh) / i';

$ patró2 = '/ (bangla) (content) * (desh) / i';

$ patró3 = '/ content /';


// Utilitzant el senyalador PREG_OFFSET_CAPTURE

preg_match ($ patró1, $ text, $ coincidències,PREG_OFFSET_CAPTURE);

trobo '
';  

print_r ($matches);

echo '

'
;

// Utilitzant el senyalador PREG_UNMATCHED_AS_NULL

preg_match ($ patró2, $ text, $ coincidències,PREG_UNMATCHED_AS_NULL);

trobo '
';  

print_r ($matches);

echo '

'
;

// Utilitzant el senyalador PREG_OFFSET_CAPTURE i el valor de desplaçament

preg_match ($ patró3, $ text, $ coincidències,PREG_OFFSET_CAPTURE, 3);

trobo '
';  

print_r ($matches);

echo '
'
;

?>

Sortida :

La següent sortida apareixerà després d'executar l'script des del servidor.

Conclusió

Els usos de la funció preg_match () s’han explicat en aquest tutorial utilitzant diversos exemples. Els usos de diferents arguments d'aquesta funció també s'han mostrat aquí. Els lectors podran utilitzar aquesta funció correctament al seu script després de llegir aquest tutorial.