Brug af funktionen preg_match () i PHP

Use Preg_match Function Php



Det regulære udtryk er et bestemt mønster, der kan bruges til at matche, søge og erstatte en bestemt streng i tekstdata. Det er en kraftfuld funktion i ethvert programmeringssprog. Det bruges hovedsageligt til at udføre forskellige former for formvalideringer, såsom validering af e -mail, kontrol af telefonformat, validering af brugernavn og adgangskodefelter i loginformularen osv. Ethvert bestemt indhold i teksten kan søges og erstattes ved hjælp af et regulært udtryk mønster. Det kaldes også regex eller RegExp. Forskellige typer symboler bruges til at definere regex -mønsteret.

Mange indbyggede funktioner findes i PHP til det regulære udtryk. funktionen preg_match () er en af ​​dem. Denne funktion bruges til at matche et bestemt mønster i strengdata. Hvordan funktionen preg_match () kan bruges i PHP til at udføre forskellige opgaver, forklares i denne vejledning.







Syntaks:

Int ellerfalsk preg_match (snor$ mønster,snor$ emne [, array &$ kampe = nul [,int$ flag = 0 [,int$ offset = 0]]])

Denne funktion kan tage fem argumenter. Det første argument, $ mønster , er obligatorisk, hvilket definerer mønsteret for matchning. Det andet argument, $ emne , er obligatorisk og indeholder de strengdata, hvor mønsteret skal anvendes. Det tredje argument, $ kampe , er valgfri, og den returnerer en matrix baseret på matchningen. Det fjerde argument, $ flag , er valgfri, som indeholder forskellige typer flagværdier baseret på kampen. Det femte argument, $ offset , er valgfri og kan bruges til at definere søgningens startposition.



Eksempel 1: Match mønsteret på en bogstavsfølsom og ufølsom måde

Følgende eksempel viser brugen af ​​funktionen preg_match () til at matche strengen på en bogstavsfølsom og ufølsom måde. Opret en PHP -fil med følgende script.



Her bruges tre mønstre til anvendelse i tre preg_match () -funktioner. Det første mønster, '/Synes godt om/', bruges til at matche strengen på en bogstavfølsom måde. Det andet mønster, '/synes godt om/' , bruges til at matche strengen på store og små bogstaver. Det tredje mønster, 'Ligesom mig' , bruges til at matche strengen på en ufølsom måde. search_pattern () funktion er defineret i scriptet til at bruge funktionen preg_match () til matchning, og den udskriver meddelelsen baseret på denne funktions returnerede værdi.







// Definer teksten

$ tekst = 'Jeg kan godt lide PHP. Jeg kan også godt lide JavaScript. ';

// Definer tre typer mønstre

$ mønster1 = '/Synes godt om/';

$ mønster2 = '/synes godt om/';

$ mønster3 = '/Ligesom mig';

// Definer funktion til søgning efter mønsteret i teksten

fungeresøgemønster($ mønster, $ streng)

{

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

smed ud 'Søgeresultat: Match er fundet til mønsteret -$ mønster
'
;

andet

smed ud 'Søgeresultat: Match findes ikke for mønsteret -$ mønster
'
;

}

// Udskriv den originale tekst

smed ud 'Den originale tekst er: $ tekst
'
;

// Kald funktionen tre gange for tre mønstre

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

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

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

?>

Produktion :

Følgende output vises efter at scriptet er kørt fra serveren. Den første linje viser teksten, hvor mønstrene blev søgt. Den anden linje viser output fra det første mønster. Den tredje linje viser output fra det andet mønster. Den fjerde linje viser output fra det tredje mønster.



Eksempel 2: Valider URL'en

Følgende eksempel viser måden at validere URL -adressen ved hjælp af funktionen preg_match (). Opret en PHP -fil med følgende script.

En URL -værdi tildeles i variablen $ url til test. ‘@^(?: Https: //)? ([^/]+) @I’ streng bruges som et mønster i funktionen preg_match () for at kontrollere, om URL -adressen er gyldig eller ej. Hvis det er gyldigt, udskrives værtsnavnet og domænenavnet, ellers udskrives fejlmeddelelsen.



// Definer webadressen

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

// Definer mønsteret til validering af URL'en

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

// Kontroller, at webadressen er gyldig eller ej

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

{

// Udskriv succesbeskeden

smed ud 'URL'en er gyldig.
'
;

// Udskriv matrixen, der indeholder matchværdierne

smed ud 'Matrixens værdier er:';

print_r ($ matches1);

// Hent og udskriv værtsværdien

$ vært = $ matches1[1];

smed ud '
Værtsnavn er:$ vært'
;

// Søg på domænenavnet ud fra værtsværdien

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

smed ud '
Domænenavn er:{$ matches2 [0]}'
;

}

andet

{

// Udskriv fejlmeddelelsen

smed ud 'Ugyldig URL.';

}

?>

Produktion :

Følgende output vises efter at scriptet er kørt fra serveren. Den angivne URL i scriptet er gyldig. Så output viser værdierne for $ matches, URL'ens værtsnavn og URL -domænenavnet.

Eksempel 3: Søgemønster med flag- og offsetværdier

Følgende eksempel viser brugen af ​​flag- og offsetværdierne i funktionen preg_match (). Opret en PHP -fil med følgende script.

Tre mønstre bruges i scriptet til tre typer matchning. I den første funktion preg_match () bruges ‘/(bangla) (desh)/’ som mønster og flagværdi, PREG_OFFSET_CAPTURE bruges. Værdierne for $ kampe variabel udskrives baseret på output fra den første funktion preg_match (). I den anden funktion preg_match () bruges ‘/(bangla) (glad)*(desh)/i’ som mønster og flagværdi, PREG_UNMATCHED_AS_NULL bruges. Hvis en del af mønsteret ikke matcher, vil en NULL -værdi blive gemt i arrayet. Værdierne for $ kampe variabel udskrives baseret på output fra den anden funktion preg_match (). I den tredje funktion preg_match () bruges ‘/glad/’ som mønster, flagværdien, PREG_OFFSET_CAPTURE bruges, og 3 bruges som forskydningsværdien. Værdierne for $ kampe variabel udskrives baseret på output fra den tredje funktion preg_match ().



// Definer tekstværdien

$ tekst = 'Bangladesh';

// Definer tre typer mønstre

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

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

$ mønster3 = '/glad/';


// Brug af PREG_OFFSET_CAPTURE flag

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

smed ud '
';  

print_r ($matches);

echo '

'
;

// Brug PREG_UNMATCHED_AS_NULL flag

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

smed ud '
';  

print_r ($matches);

echo '

'
;

// Brug af PREG_OFFSET_CAPTURE flag og forskydningsværdi

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

smed ud '
';  

print_r ($matches);

echo '
'
;

?>

Produktion :

Følgende output vises efter at scriptet er kørt fra serveren.

Konklusion

Brugen af ​​funktionen preg_match () er blevet forklaret i denne vejledning ved hjælp af flere eksempler. Brugen af ​​forskellige argumenter for denne funktion er også blevet vist her. Læserne vil kunne bruge denne funktion korrekt i deres script efter at have læst denne vejledning.