Bruk av funksjonen preg_match () i PHP

Use Preg_match Function Php



Det vanlige uttrykket er et bestemt mønster som kan brukes til å matche, søke og erstatte en bestemt streng i tekstdata. Det er en kraftig funksjon i ethvert programmeringsspråk. Den brukes hovedsakelig til å utføre forskjellige typer skjemavalideringer, for eksempel validering av e -post, sjekk av telefonformat, validering av brukernavn og passordfelt i påloggingsskjemaet, etc. Et bestemt innhold i teksten kan søkes og erstattes med et vanlig uttrykk mønster. Det kalles også regex eller RegExp. Ulike typer symboler brukes til å definere regex -mønsteret.

Mange innebygde funksjoner finnes i PHP for det vanlige uttrykket. funksjonen preg_match () er en av dem. Denne funksjonen brukes til å matche et bestemt mønster i strengdata. Hvordan preg_match () -funksjonen kan brukes i PHP for å utføre forskjellige oppgaver, er forklart i denne opplæringen.







Syntaks:

Int ellerfalsk preg_match (streng$ mønster,streng$ emne [, matrise &$ treff = null [,int$ flagg = 0 [,int$ offset = 0]]])

Denne funksjonen kan ta fem argumenter. Det første argumentet, $ mønster , er obligatorisk, som definerer mønsteret for matching. Det andre argumentet, $ emne , er obligatorisk og inneholder strengdataene som mønsteret skal brukes i. Det tredje argumentet, $ treff , er valgfritt, og det returnerer en matrise basert på kampen. Det fjerde argumentet, $ flagg , er valgfritt, som inneholder forskjellige typer flaggverdier basert på kampen. Det femte argumentet, $ offset , er valgfritt, og kan brukes til å definere startposisjonen for søket.



Eksempel 1: Match mønsteret på en bokstavfølsom og ufølsom måte

Følgende eksempel viser bruken av funksjonen preg_match () for å matche strengen på en bokstavsfølsom og ufølsom måte. Lag en PHP -fil med følgende skript.



Her brukes tre mønstre for bruk i tre preg_match () -funksjoner. Det første mønsteret, '/Som/', brukes for å matche strengen på en bokstavsensitiv måte. Det andre mønsteret, '/som/' , brukes for å matche strengen på en bokstavsensitiv måte. Det tredje mønsteret, 'Som jeg' , brukes for å matche strengen på en ufølsom måte. search_pattern () funksjon er definert i skriptet for å bruke funksjonen preg_match () for matching, og den skriver ut meldingen basert på den returnerte verdien til denne funksjonen.







// Definer teksten

$ tekst = 'Jeg liker PHP. Jeg liker også JavaScript. ';

// Definer tre typer mønster

$ mønster1 = '/Som/';

$ mønster2 = '/som/';

$ mønster3 = '/Som jeg';

// Definer funksjon for søk i mønsteret i teksten

funksjonsøkemønster($ mønster, $ streng)

{

hvis( preg_match ($ mønster, $ streng))

kastet ut 'Søkeresultat: Match er funnet for mønsteret -$ mønster
'
;

ellers

kastet ut 'Søkeresultat: Match er ikke funnet for mønsteret -$ mønster
'
;

}

// Skriv ut originalteksten

kastet ut 'Den originale teksten er: $ tekst
'
;

// Kall funksjonen tre ganger for tre mønstre

søkemønster($ mønster1, $ tekst);

søkemønster($ mønster2, $ tekst);

søkemønster($ mønster3, $ tekst);

?>

Produksjon :

Følgende utdata vises etter at skriptet er kjørt fra serveren. Den første linjen viser teksten der mønstrene ble søkt. Den andre linjen viser utgangen til det første mønsteret. Den tredje linjen viser utgangen til det andre mønsteret. Den fjerde linjen viser utgangen til det tredje mønsteret.



Eksempel 2: Valider URL

Følgende eksempel viser måten å validere URL -adressen ved hjelp av funksjonen preg_match (). Lag en PHP -fil med følgende skript.

En URL -verdi er tilordnet i variabelen $ url for testing. ‘@^(?: Https: //)? ([^/]+) @I’ streng brukes som et mønster i funksjonen preg_match () for å kontrollere om URL -adressen er gyldig eller ikke. Hvis det er gyldig, blir vertsnavnet og domenenavnet skrevet ut, ellers blir feilmeldingen skrevet ut.



// Definer nettadressen

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

// Definer mønsteret for validering av URL

$ mønster ='@^(?: https: //)? ([^/]+) @i';

// Kontroller at nettadressen er gyldig eller ikke

hvis( preg_match ($ mønster, $ url, $ matches1))

{

// Skriv ut suksessmeldingen

kastet ut 'Nettadressen er gyldig.
'
;

// Skriv ut matrisen som inneholder samsvarende verdier

kastet ut 'Verdiene til matrisen er:';

print_r ($ matches1);

// Hent og skriv ut vertsverdien

$ vert = $ matches1[1];

kastet ut '
Vertsnavnet er:$ vert'
;

// Søk på domenenavnet fra vertsverdien

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $ vert, $ matches2);

kastet ut '
Domenenavn er:{$ matches2 [0]}'
;

}

ellers

{

// Skriv ut feilmeldingen

kastet ut 'Ugyldig URL.';

}

?>

Produksjon :

Følgende utdata vises etter at skriptet er kjørt fra serveren. Den oppgitte nettadressen i skriptet er gyldig. Så, utgangen viser verdiene for $ matches, vertsnavnet til URL -adressen og domenenavnet til URL -adressen.

Eksempel 3: Søkemønster med flagg og forskyvningsverdier

Følgende eksempel viser bruken av flagget og forskyvningsverdiene i funksjonen preg_match (). Lag en PHP -fil med følgende skript.

Tre mønstre brukes i manuset for tre typer matching. I den første funksjonen preg_match () brukes ‘/(bangla) (desh)/’ som mønster og flaggverdi, PREG_OFFSET_CAPTURE brukes. Verdiene til $ treff variabel skrives ut basert på utdataene fra den første funksjonen preg_match (). I den andre funksjonen preg_match (), ‘/(bangla) (glad)*(desh)/i’, brukes som mønster og flaggverdi, PREG_UNMATCHED_AS_NULL brukes. Hvis noen del av mønsteret ikke stemmer overens, lagres en NULL -verdi i matrisen. Verdiene til $ treff variabel skrives ut basert på utdataene fra den andre funksjonen preg_match (). I den tredje preg_match () -funksjonen brukes ‘/glad/’ som mønster, flaggverdien, PREG_OFFSET_CAPTURE brukes og 3 brukes som forskyvningsverdi. Verdiene til $ treff variabel skrives ut basert på utdataene fra den tredje funksjonen preg_match ().



// Definer tekstverdien

$ tekst = 'Bangladesh';

// Definer tre typer mønstre

$ mønster1 = ' / (bangla) (desh) / i';

$ mønster2 = ' / (bangla) (glad) * (desh) / i';

$ mønster3 = '/glad/';


// Bruke PREG_OFFSET_CAPTURE flagg

preg_match ($ mønster1, $ tekst, $ treff,PREG_OFFSET_CAPTURE);

kastet ut '
';  

print_r ($matches);

echo '

'
;

// Bruke PREG_UNMATCHED_AS_NULL flagg

preg_match ($ mønster2, $ tekst, $ treff,PREG_UNMATCHED_AS_NULL);

kastet ut '
';  

print_r ($matches);

echo '

'
;

// Bruke PREG_OFFSET_CAPTURE flagg og forskyvningsverdi

preg_match ($ mønster3, $ tekst, $ treff,PREG_OFFSET_CAPTURE, 3);

kastet ut '
';  

print_r ($matches);

echo '
'
;

?>

Produksjon :

Følgende utdata vises etter at skriptet er kjørt fra serveren.

Konklusjon

Bruken av funksjonen preg_match () har blitt forklart i denne opplæringen ved hjelp av flere eksempler. Bruken av forskjellige argumenter for denne funksjonen har også blitt vist her. Leserne vil kunne bruke denne funksjonen riktig i skriptet etter å ha lest denne opplæringen.