php

Användning av funktionen preg_match () i PHP

Användning av funktionen preg_match () i PHP

Regeluttrycket är ett visst mönster som kan användas för att matcha, söka och ersätta en viss sträng i textdata. Det är en kraftfull funktion i alla programmeringsspråk. Den används huvudsakligen för att utföra olika typer av formulärvalideringar, såsom validering av e-post, kontroll av telefonformat, validering av användarnamn och lösenordsfält i inloggningsformuläret, etc. Varje särskilt innehåll i texten kan sökas och ersättas med ett vanligt uttrycksmönster. Det kallas också regex eller RegExp. Olika typer av symboler används för att definiera regexmönstret.

Många inbyggda funktioner finns i PHP för det reguljära uttrycket. funktionen preg_match () är en av dem. Denna funktion används för att matcha ett visst mönster i strängdata. Hur funktionen preg_match () kan användas i PHP för att utföra olika uppgifter förklaras i denna handledning.

Syntax:

Int eller falskt preg_match (sträng $ mönster, sträng $ ämne [, array och $ matchningar = null [, int $ flaggor = 0 [, int $ offset = 0]]])

Denna funktion kan ta fem argument. Det första argumentet, $ mönster, är obligatoriskt, vilket definierar mönstret för matchning. Det andra argumentet, $ ämne, är obligatoriskt och innehåller strängdata där mönstret kommer att tillämpas. Det tredje argumentet, $ matchningar, är valfritt och returnerar en matris baserat på matchningen. Det fjärde argumentet, $ flaggor, är valfritt, som innehåller olika typer av flaggvärden baserat på matchningen. Det femte argumentet, $ offset, är valfritt och kan användas för att definiera sökpositionens startposition.

Exempel 1: Matcha mönstret på ett skiftlägeskänsligt och skiftlägeskänsligt sätt

Följande exempel visar användningen av funktionen preg_match () för att matcha strängen på ett skiftlägeskänsligt och skiftlägeskänsligt sätt. Skapa en PHP-fil med följande skript.

Här används tre mönster för att applicera i tre preg_match () -funktioner. Det första mönstret, '/Tycka om/', används för att matcha strängen på ett skiftlägeskänsligt sätt. Det andra mönstret, '/tycka om/', används för att matcha strängen på ett skiftlägeskänsligt sätt. Det tredje mönstret, 'Som jag', används för att matcha strängen på ett skiftlägeskänsligt sätt. search_pattern () funktionen definieras i skriptet för att använda funktionen preg_match () för matchning, och den skriver ut meddelandet baserat på det returnerade värdet för denna funktion.

// Definiera texten
$ text = "Jag gillar PHP. Jag gillar JavaScript också.";
// Definiera tre typer av mönster
$ pattern1 = '/ Gilla /';
$ pattern2 = '/ like /';
$ pattern3 = '/ Gilla / i';
// Definiera funktion för att söka i mönstret i texten
funktion search_pattern ($ mönster, $ sträng)

if (preg_match ($ mönster, $ sträng))
eko "Sökresultat: Matchning finns för mönstret - $ mönster
";
annan
eko "Sökresultat: Matchning hittades inte för mönstret - $ mönster
";

// Skriv ut originaltexten
eko "Originaltexten är: $ text
";
// Ring funktionen tre gånger för tre mönster
sökmönster ($ mönster1, $ text);
sökmönster ($ mönster2, $ text);
sökmönster ($ mönster3, $ text);
?>

Produktion:

Följande utdata visas efter att man kört skriptet från servern. Den första raden visar texten där mönstren sökte. Den andra raden visar utgången från det första mönstret. Den tredje raden visar utdata från det andra mönstret. Den fjärde raden visar resultatet av det tredje mönstret.

Exempel 2: Validera webbadressen

Följande exempel visar hur du validerar URL-adressen med funktionen preg_match (). Skapa en PHP-fil med följande skript.

Ett URL-värde tilldelas i variabeln $ url för testning. '@ ^ (?: https: //)?([^ /] +) @ i '-strängen används som ett mönster i funktionen preg_match () för att kontrollera om URL-adressen är giltig eller inte. Om det är giltigt kommer värdnamnet och domännamnet att skrivas ut, annars skrivs felmeddelandet ut.

// Definiera URL
$ url = "https: // www.linuxhint.com ";
// Definiera mönstret för validering av URL
$ mönster = '@ ^ (?: https: //)?([^ /] +) @ i ';
// Kontrollera att webbadressen är giltig eller inte
if (preg_match ($ mönster, $ url, $ matchar1))

// Skriv ut framgångsmeddelandet
echo "URL: en är giltig.
";
// Skriv ut matrisen som innehåller matchningsvärdena
eko "Arrayens värden är:";
print_r ($ matchningar1);
// Hämta och skriv ut värdvärdet
$ host = $ matches1 [1];
eko "
Värdnamn är: $ host ";
// Sök i domännamnet från värdvärdet
preg_match ('/ [^.] + \.[^.] + $ / ', $ host, $ matches2);
eko "
Domännamn är: $ matches2 [0] ";

annan

// Skriv ut felmeddelandet
echo "Ogiltig URL.";

?>

Produktion:

Följande utdata visas efter att man kört skriptet från servern. Den angivna webbadressen i skriptet är giltig. Så, utdata visar värdena för $ matchningar, webbadressens värdnamn och domännamnet på URL: n.

Exempel 3: Sökmönster med flagg- och offsetvärden

Följande exempel visar användningen av flaggan och offsetvärdena i funktionen preg_match (). Skapa en PHP-fil med följande skript.

Tre mönster används i manuset för tre typer av matchning. I den första preg_match () -funktionen används '/ (bangla) (desh) /' som mönster och flaggvärdet, PREG_OFFSET_CAPTURE används. Värdena för $ matchningar variabeln skrivs ut baserat på utgången från den första funktionen preg_match (). I den andra funktionen preg_match () används '/ (bangla) (glad) * (desh) / i' som mönster och flaggvärdet, PREG_UNMATCHED_AS_NULL används. Om någon del av mönstret inte matchar lagras ett NULL-värde i matrisen. Värdena för $ matchningar variabel skrivs ut baserat på utgången från den andra funktionen preg_match (). I den tredje funktionen preg_match () används '/ glad /' som mönster, flaggvärdet, PREG_OFFSET_CAPTURE används och 3 används som offsetvärde. Värdena för $ matchningar variabel skrivs ut baserat på utgången från den tredje funktionen preg_match ().

// Definiera textvärdet
$ text = "Bangladesh";
// Definiera tre typer av mönster
$ pattern1 = '/ (bangla) (desh) / i';
$ pattern2 = '/ (bangla) (glad) * (desh) / i';
$ pattern3 = '/ glad /';
// Använda PREG_OFFSET_CAPTURE-flaggan
preg_match ($ pattern1, $ text, $ matches, PREG_OFFSET_CAPTURE);
eko "
";
print_r ($ matchningar);
eko "

";
// Med PREG_UNMATCHED_AS_NULL flagga
preg_match ($ pattern2, $ text, $ matches, PREG_UNMATCHED_AS_NULL);
eko "
";
print_r ($ matchningar);
eko "

";
// Med PREG_OFFSET_CAPTURE-flagga och offsetvärde
preg_match ($ pattern3, $ text, $ matches, PREG_OFFSET_CAPTURE, 3);
eko "
";
print_r ($ matchningar);
eko "
";
?>

Produktion:

Följande utdata visas efter att man kört skriptet från servern.

Slutsats

Användningen av funktionen preg_match () har förklarats i denna handledning med flera exempel. Användningen av olika argument för denna funktion har också visats här. Läsarna kommer att kunna använda den här funktionen ordentligt i sitt skript efter att ha läst denna handledning.

Mus Mus vänsterklicka på knappen fungerar inte på Windows 10
Mus vänsterklicka på knappen fungerar inte på Windows 10
Om du använder en dedikerad mus med din bärbara dator eller stationära dator men musens vänsterklick-knapp fungerar inte på Windows 10/8/7 av någon an...
Mus Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Markören hoppar eller rör sig slumpmässigt när du skriver in Windows 10
Om du upptäcker att muspekaren hoppar eller rör sig på egen hand, automatiskt, slumpmässigt när du skriver in Windows-bärbar dator eller dator, kan nå...
Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...