Användning av funktionen preg_match () i PHP

Use Preg_match Function Php



Det reguljära uttrycket är ett särskilt 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. Det används huvudsakligen för att utföra olika typer av formulärvalideringar, till exempel att validera e -post, kontrollera telefonformatet, validera användarnamn och lösenordsfält i inloggningsformuläret. Varje visst innehåll i texten kan sökas och ersättas med ett reguljärt uttryck mö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 preg_match () -funktionen kan användas i PHP för att utföra olika uppgifter förklaras i denna handledning.







Syntax:

Int ellerfalsk preg_match (sträng$ mönster,sträng$ ämne [, array &$ matchningar = null [,int$ flaggor = 0 [,int$ kompensation = 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 som mönstret ska tillämpas i. Det tredje argumentet, $ matchningar , är valfritt och det returnerar en array baserad på matchningen. Det fjärde argumentet, $ flaggor , är valfritt, som innehåller olika typer av flaggvärden baserat på matchningen. Det femte argumentet, $ kompensation , är valfritt och kan användas för att definiera sökningens 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 tillämpning 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 () funktion definieras i skriptet för att använda funktionen preg_match () för matchning, och det skriver ut meddelandet baserat på det returnerade värdet för denna funktion.







// Definiera texten

$ text = 'Jag gillar PHP. Jag gillar också JavaScript. ';

// Definiera tre typer av mönster

$ mönster1 = '/Tycka om/';

$ mönster2 = '/tycka om/';

$ mönster3 = '/Som jag';

// Definiera funktion för att söka efter mönstret i texten

fungerasökmönster($ mönster, $ sträng)

{

om( preg_match ($ mönster, $ sträng))

kastade ut 'Sökresultat: Matchen hittades för mönstret -$ mönster
'
;

annan

kastade ut 'Sökresultat: Matchen hittades inte för mönstret -$ mönster
'
;

}

// Skriv ut originaltexten

kastade ut 'Originaltexten är: $ text
'
;

// Anropa 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 manuset har körts från servern. Den första raden visar texten där mönstren sökte. Den andra raden visar utmatningen av det första mönstret. Den tredje raden visar utsignalen från det andra mönstret. Den fjärde raden visar utmatningen av det tredje mönstret.



Exempel 2: Validera webbadressen

Följande exempel visar sättet att validera 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äng 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 skrivs värdnamnet och domännamnet ut, annars skrivs felmeddelandet ut.



// Definiera webbadressen

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

// Definiera mönstret för validering av URL: en

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

// Kontrollera att webbadressen är giltig eller inte

om( preg_match ($ mönster, $ url, $ matcher1))

{

// Skriv ut framgångsmeddelandet

kastade ut 'URL: en är giltig.
'
;

// Skriv ut matrisen som innehåller matchningsvärdena

kastade ut 'Matrisens värden är:';

print_r ($ matcher1);

// Hämta och skriv ut värdvärdet

$ värd = $ matcher1[1];

kastade ut '
Värdnamn är:$ värd'
;

// Sök domännamnet från värdvärdet

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $ värd, $ matcher2);

kastade ut '
Domännamn är:{$ matches2 [0]}'
;

}

annan

{

// Skriv ut felmeddelandet

kastade ut 'Ogiltig URL.';

}

?>

Produktion :

Följande utdata visas efter att manuset har körts från servern. Den angivna webbadressen i skriptet är giltig. Utdata visar alltså värdena för $ -matchningarna, webbadressens värdnamn och URL -domännamnet.

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

Följande exempel visar användningen av flagga och förskjutna värden 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 funktionen preg_match () används ‘/(bangla) (desh)/’ som mönster och flaggvärde, PREG_OFFSET_CAPTURE används. Värdena på $ matchningar variabel skrivs ut baserat på utmatningen 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ärde, PREG_UNMATCHED_AS_NULL används. Om någon del av mönstret inte matchar kommer ett NULL -värde att lagras i matrisen. Värdena på $ matchningar variabel skrivs ut baserat på utmatningen 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 förskjutningsvärde. Värdena på $ matchningar variabel skrivs ut baserat på utmatningen från den tredje funktionen preg_match ().



// Definiera textvärdet

$ text = 'Bangladesh';

// Definiera tre typer av mönster

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

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

$ mönster3 = '/glad/';


// Med flagga PREG_OFFSET_CAPTURE

preg_match ($ mönster1, $ text, $ matchningar,PREG_OFFSET_CAPTURE);

kastade ut '
';  

print_r ($matches);

echo '

'
;

// Använda PREG_UNMATCHED_AS_NULL flagga

preg_match ($ mönster2, $ text, $ matchningar,PREG_UNMATCHED_AS_NULL);

kastade ut '
';  

print_r ($matches);

echo '

'
;

// Använda PREG_OFFSET_CAPTURE flagga och förskjutningsvärde

preg_match ($ mönster3, $ text, $ matchningar,PREG_OFFSET_CAPTURE, 3);

kastade ut '
';  

print_r ($matches);

echo '
'
;

?>

Produktion :

Följande utdata visas efter att manuset har körts från servern.

Slutsats

Användningen av funktionen preg_match () har förklarats i den här självstudien med hjälp av 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 korrekt i sitt manus efter att ha läst den här självstudien.