Gebruik van preg_match() Functie in PHP

Use Preg_match Function Php



De reguliere expressie is een bepaald patroon dat kan worden gebruikt om een ​​bepaalde tekenreeks in tekstgegevens te matchen, zoeken en vervangen. Het is een krachtige functie van elke programmeertaal. Het wordt voornamelijk gebruikt om verschillende soorten formuliervalidaties uit te voeren, zoals het valideren van e-mail, het controleren van het telefoonformaat, het valideren van de gebruikersnaam- en wachtwoordvelden van het inlogformulier, enz. Elke specifieke inhoud van de tekst kan worden gezocht en vervangen met behulp van een reguliere expressie patroon. Het wordt ook regex of RegExp genoemd. Er worden verschillende soorten symbolen gebruikt om het regexpatroon te definiëren.

Er zijn veel ingebouwde functies in PHP voor de reguliere expressie. preg_match() functie is er een van. Deze functie wordt gebruikt voor het matchen van een bepaald patroon in stringgegevens. Hoe de functie preg_match() in PHP kan worden gebruikt voor het uitvoeren van verschillende taken, wordt in deze tutorial uitgelegd.







Syntaxis:

Int ofvals preg_match (snaar$patroon,snaar$onderwerp [, reeks &$overeenkomsten = nul [,int$vlaggen = 0 [,int$offset = 0]]])

Deze functie kan vijf argumenten bevatten. Het eerste argument, $patroon , is verplicht, wat het patroon voor matching definieert. Het tweede argument, $onderwerp , is verplicht en bevat de tekenreeksgegevens waarin het patroon wordt toegepast. Het derde argument, $overeenkomsten , is optioneel en retourneert een array op basis van de overeenkomst. Het vierde argument, $vlaggen , is optioneel en bevat verschillende soorten vlagwaarden op basis van de overeenkomst. Het vijfde argument, $offset , is optioneel en kan worden gebruikt om de startpositie van de zoekopdracht te definiëren.



Voorbeeld 1: Pas het patroon hoofdlettergevoelig en hoofdletterongevoelig aan

In het volgende voorbeeld wordt het gebruik van de functie preg_match() getoond om de tekenreeks hoofdlettergevoelig en hoofdletterongevoelig te matchen. Maak een PHP-bestand met het volgende script.



Hier worden drie patronen gebruikt om in drie preg_match()-functies toe te passen. Het eerste patroon, '/Leuk vinden/', wordt gebruikt om de tekenreeks op een hoofdlettergevoelige manier te matchen. Het tweede patroon, '/Leuk vinden/' , wordt gebruikt om de tekenreeks op een hoofdlettergevoelige manier te matchen. Het derde patroon, 'Zoals ik' , wordt gebruikt om de tekenreeks op een niet-hoofdlettergevoelige manier te matchen. zoekpatroon() functie is gedefinieerd in het script om de functie preg_match() te gebruiken voor het matchen, en het drukt het bericht af op basis van de geretourneerde waarde van deze functie.







//Definieer de tekst

$tekst = 'Ik hou van PHP. Ik hou ook van JavaScript.';

//Definieer drie soorten patronen

$patroon1 = '/Leuk vinden/';

$patroon2 = '/Leuk vinden/';

$patroon3 = '/Zoals ik';

//Definieer functie voor het zoeken naar het patroon in de tekst

functiezoekpatroon($patroon, $string)

{

indien( preg_match ($patroon, $string))

gooide uit 'Zoekresultaat: Match is gevonden voor het patroon -$patroon
'
;

anders

gooide uit 'Zoekresultaat: Match is niet gevonden voor het patroon -$patroon
'
;

}

//Druk de originele tekst af

gooide uit 'De originele tekst is: $tekst
'
;

// Roep de functie drie keer aan voor drie patronen

zoekpatroon($patroon1, $tekst);

zoekpatroon($patroon2, $tekst);

zoekpatroon($patroon3, $tekst);

?>

Uitgang: :

De volgende uitvoer verschijnt nadat het script vanaf de server is uitgevoerd. De eerste regel toont de tekst waarin de patronen zijn gezocht. De tweede regel toont de uitvoer van het eerste patroon. De derde regel toont de uitvoer van het tweede patroon. De vierde regel toont de uitvoer van het derde patroon.



Voorbeeld 2: Valideer de URL

Het volgende voorbeeld toont de manier om het URL-adres te valideren met behulp van de preg_match() functie. Maak een PHP-bestand met het volgende script.

Er wordt een URL-waarde toegewezen in de variabele $url om te testen. '@^(?:https://)?([^/]+)@i' string wordt gebruikt als een patroon in de preg_match() functie om te controleren of het URL-adres geldig is of niet. Als het geldig is, worden de hostnaam en de domeinnaam afgedrukt, anders wordt de foutmelding afgedrukt.



//Definieer de URL

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

//Definieer het patroon voor het valideren van de URL

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

//Controleer of de URL geldig is of niet

indien( preg_match ($patroon, $url, $overeenkomsten1))

{

// Druk het succesbericht af

gooide uit 'De URL is geldig.
'
;

//Druk de array af die de matchwaarden bevat

gooide uit 'De waarden van de array zijn: ';

print_r ($overeenkomsten1);

//De hostwaarde ophalen en afdrukken

$host = $overeenkomsten1[1];

gooide uit '
Hostnaam is:$host'
;

//Zoek de domeinnaam van de hostwaarde

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

gooide uit '
Domeinnaam is:{$matches2[0]}'
;

}

anders

{

// Druk de foutmelding af

gooide uit 'Ongeldige URL.';

}

?>

Uitgang: :

De volgende uitvoer verschijnt nadat het script vanaf de server is uitgevoerd. De opgegeven URL in het script is geldig. De uitvoer toont dus de waarden van de $matches, de hostnaam van de URL en de domeinnaam van de URL.

Voorbeeld 3: Zoekpatroon met vlag- en offsetwaarden

Het volgende voorbeeld toont het gebruik van de vlag- en offsetwaarden in de preg_match()-functie. Maak een PHP-bestand met het volgende script.

In het script worden drie patronen gebruikt voor drie soorten overeenkomsten. In de eerste preg_match()-functie wordt '/(bangla)(desh)/' gebruikt als het patroon en de vlagwaarde, PREG_OFFSET_CAPTURE wordt gebruikt. De waarden van de $overeenkomsten variabele wordt afgedrukt op basis van de uitvoer van de eerste preg_match()-functie. In de tweede preg_match() functie, '/(bangla)(glad)*(desh)/i', wordt gebruikt als het patroon en de vlagwaarde, PREG_UNMATCHED_AS_NULL wordt gebruikt. Als een deel van het patroon niet overeenkomt, wordt een NULL-waarde in de array opgeslagen. De waarden van de $overeenkomsten variabele wordt afgedrukt op basis van de uitvoer van de tweede preg_match()-functie. In de derde functie preg_match() wordt '/glad/' gebruikt als het patroon, de vlagwaarde, PREG_OFFSET_CAPTURE wordt gebruikt en 3 wordt gebruikt als de offsetwaarde. De waarden van de $overeenkomsten variabele wordt afgedrukt op basis van de uitvoer van de derde preg_match()-functie.



//Definieer de tekstwaarde

$tekst = 'Bangladesh';

//Definieer drie soorten patronen

$patroon1 = '/ (bangla) (desh) / ik';

$patroon2 = '/ (bangla) (blij) * (desh) / ik';

$patroon3 = '/blij/';


// De vlag PREG_OFFSET_CAPTURE gebruiken

preg_match ($patroon1, $tekst, $overeenkomsten,PREG_OFFSET_CAPTURE);

gooide uit '
';  

print_r ($matches);

echo '

'
;

// De vlag PREG_UNMATCHED_AS_NULL gebruiken

preg_match ($patroon2, $tekst, $overeenkomsten,PREG_UNMATCHED_AS_NULL);

gooide uit '
';  

print_r ($matches);

echo '

'
;

// PREG_OFFSET_CAPTURE vlag en offsetwaarde gebruiken

preg_match ($patroon3, $tekst, $overeenkomsten,PREG_OFFSET_CAPTURE, 3);

gooide uit '
';  

print_r ($matches);

echo '
'
;

?>

Uitgang: :

De volgende uitvoer verschijnt nadat het script vanaf de server is uitgevoerd.

Conclusie

Het gebruik van de functie preg_match() is in deze zelfstudie uitgelegd aan de hand van meerdere voorbeelden. Het gebruik van verschillende argumenten van deze functie is hier ook getoond. De lezers kunnen deze functie goed gebruiken in hun script na het lezen van deze tutorial.