php

Gebruik van preg_match() Functie in PHP

Gebruik van preg_match() Functie in 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 doorzocht en vervangen met behulp van een patroon voor reguliere expressies. 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 of false preg_match (string $pattern, string $subject [, array &$matches = null [, int $flags = 0 [, int $offset = 0]]])

Deze functie kan vijf argumenten aannemen. 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 geeft een array terug op basis van de match. 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

Het volgende voorbeeld toont het gebruik van de functie preg_match() voor het matchen van de tekenreeks op een hoofdlettergevoelige en hoofdletterongevoelige manier. Maak een PHP-bestand met het volgende script:.

Hier worden drie patronen gebruikt om toe te passen in drie preg_match() functies. 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
$text = "Ik hou van PHP. Ik hou ook van JavaScript.";
//Definieer drie soorten patronen
$patroon1 = '/Vind ik leuk/';
$patroon2 = '/vind ik leuk/';
$patroon3 = '/Vind ik leuk/ik';
//Definieer functie voor het zoeken naar het patroon in de tekst
functie zoekpatroon ($ patroon, $ tekenreeks)

if(preg_match($patroon, $string))
echo "Zoekresultaat: Match is gevonden voor het patroon - $patroon
";
anders
echo "Zoekresultaat: Er is geen overeenkomst gevonden voor het patroon - $patroon
";

//Druk de originele tekst af
echo "De originele tekst is: $tekst
";
// Roep de functie drie keer aan voor drie patronen
search_pattern($patroon1, $tekst);
search_pattern($patroon2, $tekst);
search_pattern($patroon3, $tekst);
?>

Uitgang::

De volgende uitvoer zal verschijnen 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
if(preg_match($patroon, $url, $overeenkomsten1))

// Druk het succesbericht af
echo "De URL is geldig.
";
//Druk de array af die de matchwaarden bevat
echo "De waarden van de array zijn: ";
print_r ($ komt overeen met 1);
//De hostwaarde ophalen en afdrukken host
$host = $matches1[1];
echo "
Hostnaam is: $host";
//Zoek de domeinnaam van de hostwaarde
preg_match('/[^.]+\.[^.]+$/', $host, $overeenkomsten2);
echo "
Domeinnaam is: $matches2[0]";

anders

// Druk de foutmelding af
echo "Ongeldige URL.";

?>

Uitgang::

De volgende uitvoer zal verschijnen 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 opgeslagen in de array. 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
$text = "Bangladesh";
//Definieer drie soorten patronen
$patroon1 = '/(bangla)(desh)/i';
$patroon2 = '/(bangla)(blij)*(desh)/i';
$patroon3 = '/blij/';
// De vlag PREG_OFFSET_CAPTURE gebruiken
preg_match($patroon1, $tekst, $overeenkomsten, PREG_OFFSET_CAPTURE);
echo "
";
print_r($overeenkomsten);
echo "

";
// De vlag PREG_UNMATCHED_AS_NULL gebruiken
preg_match($patroon2, $tekst, $overeenkomsten, PREG_UNMATCHED_AS_NULL);
echo "
";
print_r($overeenkomsten);
echo "

";
// PREG_OFFSET_CAPTURE vlag en offsetwaarde gebruiken
preg_match($patroon3, $tekst, $overeenkomsten, PREG_OFFSET_CAPTURE, 3);
echo "
";
print_r($overeenkomsten);
echo "
";
?>

Uitgang::

De volgende uitvoer zal verschijnen 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.

Hoe League Of Legends op Ubuntu 14 te installeren.04
Als je fan bent van League of Legends, dan is dit een kans voor jou om League of Legends te testen. Merk op dat LOL wordt ondersteund op PlayOnLinux a...
Installeer de nieuwste OpenRA Strategy Game op Ubuntu Linux
OpenRA is een Libre/Free Real Time Strategy-game-engine die de vroege Westwood-games nabootst, zoals de klassieke Command & Conquer: Red Alert. Gedist...
Installeer de nieuwste Dolphin Emulator voor Gamecube & Wii op Linux
Met de Dolphin Emulator kun je de door jou gekozen Gamecube- en Wii-spellen spelen op Linux Personal Computers (pc). Omdat het een vrij beschikbare e...