php

Bruk av funksjonen preg_match () i PHP

Bruk av funksjonen preg_match () i PHP

Regulært uttrykk 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 å validere e-post, sjekke telefonformatet, validere brukernavn og passordfelt i påloggingsskjemaet, osv. Ethvert bestemt innhold i teksten kan søkes og erstattes med et vanlig uttrykksmø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 veiledningen.

Syntaks:

Int eller falsk preg_match (streng $ mønster, streng $ emne [, matrise og $ samsvar = 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 samsvar. Det andre argumentet, $ emne, er obligatorisk, og inneholder strengdataene som mønsteret skal brukes i. Det tredje argumentet, $ treff, er valgfritt, og den returnerer en matrise basert på samsvar. Det fjerde argumentet, $ flagg, er valgfritt, som inneholder forskjellige typer flaggverdier basert på samsvar. Det femte argumentet, $ offset, er valgfritt, og kan brukes til å definere startposisjonen til søket.

Eksempel 1: Match mønsteret på en skiftesensitiv og liten bokstavsfølsom måte

Følgende eksempel viser bruken av preg_match () -funksjonen for å matche strengen på en bokstavsfølsom og store og små bokstaver. Opprett en PHP-fil med følgende skript.

Her brukes tre mønstre for å bruke i tre funksjoner preg_match (). Det første mønsteret, '/Som/', brukes til å matche strengen på en skift mellom store og små bokstaver. Det andre mønsteret, '/som/', brukes til å matche strengen på en skift mellom store og små bokstaver. Det tredje mønsteret, 'Som jeg', brukes til å matche strengen på en bokstavsfølsom måte. søkemønster () funksjonen er definert i skriptet for å bruke preg_match () -funksjonen for å matche, og den skriver ut meldingen basert på den returnerte verdien til denne funksjonen.

// Definer teksten
$ text = "Jeg liker PHP. Jeg liker JavaScript også.";
// Definer tre typer mønstre
$ pattern1 = '/ Like /';
$ pattern2 = '/ like /';
$ pattern3 = '/ Like / i';
// Definer funksjon for å søke i mønsteret i teksten
funksjon search_pattern ($ mønster, $ streng)

hvis (preg_match ($ mønster, $ streng))
ekko "Søkeresultat: Kampen er funnet for mønsteret - $ mønster
";
ellers
ekko "Søkeresultat: Kampen ble ikke funnet for mønsteret - $ mønster
";

// Skriv ut originalteksten
ekko "Originalteksten er: $ tekst
";
// Ring 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 når du har kjørt skriptet fra serveren. Den første linjen viser teksten der mønstrene ble søkt. Den andre linjen viser utdataene fra det første mønsteret. Den tredje linjen viser utdataene fra det andre mønsteret. Den fjerde linjen viser utdataene fra det tredje mønsteret.

Eksempel 2: Bekreft URL-en

Følgende eksempel viser måten å validere URL-adressen ved hjelp av funksjonen preg_match (). Opprett 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 preg_match () -funksjonen for å sjekke om URL-adressen er gyldig eller ikke. Hvis det er gyldig, blir vertsnavnet og domenenavnet skrevet ut, ellers blir feilmeldingen skrevet ut.

// Definer URL
$ url = "https: // www.linuxhint.com ";
// Definer mønsteret for validering av URL
$ mønster = '@ ^ (?: https: //)?([^ /] +) @ i ';
// Sjekk at URL er gyldig eller ikke
hvis (preg_match ($ mønster, $ url, $ treff1))

// Skriv ut suksessmeldingen
ekko "URLen er gyldig.
";
// Skriv ut matrisen som inneholder samsvarsverdiene
ekko "Verdiene til matrisen er:";
print_r ($ matches1);
// Hent og skriv ut vertsverdien
$ host = $ matches1 [1];
ekko "
Vertsnavnet er: $ host ";
// Søk i domenenavnet fra vertsverdien
preg_match ('/ [^.] + \.[^.] + $ / ', $ host, $ matches2);
ekko "
Domenenavn er: $ matches2 [0] ";

ellers

// Skriv ut feilmeldingen
ekko "Ugyldig URL.";

?>

Produksjon:

Følgende utdata vises når du har kjørt skriptet fra serveren. Den angitte URL-en i skriptet er gyldig. Så viser utdataene verdiene til $ treffene, vertsnavnet til URL-en og domenenavnet til URL-en.

Eksempel 3: Søkemønster med flagg- og offsetverdier

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

Tre mønstre brukes i skriptet for tre typer samsvar. I den første preg_match () -funksjonen brukes '/ (bangla) (desh) /' som mønster og flaggverdien, PREG_OFFSET_CAPTURE brukes. Verdiene til $ treff variabel skrives ut basert på utgangen fra den første preg_match () -funksjonen. I den andre preg_match () -funksjonen brukes '/ (bangla) (glad) * (desh) / i' 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 funksjonen preg_match () brukes '/ glad /' som mønster, flaggverdien, PREG_OFFSET_CAPTURE brukes og 3 brukes som forskjøvet verdi. Verdiene til $ treff variabel skrives ut basert på utdataene fra den tredje funksjonen preg_match ().

// Definer tekstverdien
$ text = "Bangladesh";
// Definer tre typer mønstre
$ pattern1 = '/ (bangla) (desh) / i';
$ pattern2 = '/ (bangla) (glad) * (desh) / i';
$ pattern3 = '/ glad /';
// Bruke PREG_OFFSET_CAPTURE-flagget
preg_match ($ pattern1, $ text, $ matches, PREG_OFFSET_CAPTURE);
ekko "
";
print_r ($ treff);
ekko "

";
// Bruker PREG_UNMATCHED_AS_NULL flagg
preg_match ($ pattern2, $ text, $ matches, PREG_UNMATCHED_AS_NULL);
ekko "
";
print_r ($ treff);
ekko "

";
// Bruke PREG_OFFSET_CAPTURE flagg og offset verdi
preg_match ($ pattern3, $ text, $ matches, PREG_OFFSET_CAPTURE, 3);
ekko "
";
print_r ($ treff);
ekko "
";
?>

Produksjon:

Følgende utdata vises når du har kjørt skriptet fra serveren.

Konklusjon

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

Mus Hvordan bruke Xdotool til å stimulere museklikk og tastetrykk i Linux
Hvordan bruke Xdotool til å stimulere museklikk og tastetrykk i Linux
Xdotool er et gratis og åpen kildekode kommandolinjeverktøy for å simulere museklikk og tastetrykk. Denne artikkelen vil dekke en kort guide om bruk a...
Mus Topp 5 ergonomiske datamuseprodukter for Linux
Topp 5 ergonomiske datamuseprodukter for Linux
Gir langvarig bruk av datamaskiner smerter i håndleddet eller fingrene? Lider du av stive ledd og må hele tiden riste på deg hendene? Føler du en bren...
Mus Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
Hvordan endre mus og berøringsplateinnstillinger ved hjelp av Xinput i Linux
De fleste Linux-distribusjoner leveres med "libinput" -biblioteket som standard for å håndtere inngangshendelser på et system. Den kan behandle inngan...