Wat is reguliere expressie in PHP?
PHP Regular Expression, ook bekend als regex, is een krachtig algoritme voor het matchen van patronen dat in een enkele expressie kan worden uitgevoerd. Reguliere expressies gebruiken rekenkundige operatoren zoals (+, -, ^) om complexe expressies te maken. Ze kunnen u helpen bij het uitvoeren van taken zoals het valideren van e-mailadressen, IP-adressen enz.
Waarom reguliere expressies gebruiken
- PHP Reguliere expressies vereenvoudigen het identificeren van patronen in stringgegevens door een enkele functie aan te roepen. Dit bespaart ons coderingstijd.
- Bij het valideren van gebruikersinvoer zoals e-mailadres, domeinnamen, telefoonnummers, IP-adressen,
- Markeer trefwoorden in zoekresultaten
- Bij het maken van een aangepaste HTML-sjabloon. Regex in PHP kan worden gebruikt om de sjabloontags te identificeren en deze te vervangen door feitelijke gegevens.
In deze PHP Regex-tutorial leer je:
- Ingebouwde reguliere expressiefuncties in PHP
- PHP Preg_match ()
- PHP Preg_split ()
- PHP Preg_replace ()
- Metatekens voor reguliere expressies
- Het patroon uitleggen
Ingebouwde reguliere expressiefuncties in PHP
PHP heeft ingebouwde functies waarmee we kunnen werken met reguliere functies die we zullen leren in deze PHP Regular Expressions-zelfstudie. Laten we eens kijken naar de veelgebruikte functies voor reguliere expressies in PHP.
- preg_match () in PHP - deze functie wordt gebruikt om patroonovereenkomst in PHP op een string uit te voeren. Het geeft true terug als er een overeenkomst wordt gevonden en false als er geen overeenkomst wordt gevonden.
- preg_split () in PHP - deze functie wordt gebruikt om een patroonovereenkomst uit te voeren op een string en vervolgens de resultaten te splitsen in een numerieke array
- preg_replace () in PHP - deze functie wordt gebruikt om een patroonovereenkomst uit te voeren op een string en vervolgens de overeenkomst te vervangen door de opgegeven tekst.
Hieronder staat de syntaxis voor een reguliere expressiefunctie zoals PHP preg_match (), PHP preg_split () of PHP preg_replace ().
HIER,
- "functienaam (…)" is ofwel PHP preg_match (), PHP preg_split () of PHP preg_replace ().
- "/… /" De schuine strepen geven het begin en het einde van onze PHP regex tester-functie aan
- "'/ patroon /'" is het patroon dat we moeten matchen
- "onderwerp" is de tekenreeks waarmee moet worden vergeleken
Laten we nu kijken naar praktische voorbeelden die de bovenstaande PHP-regex-functies implementeren.
PHP Preg_match ()
Het eerste voorbeeld gebruikt de preg_match () in PHP-functie om een eenvoudige patroonovereenkomst uit te voeren voor het woord goeroe in een bepaalde URL.
De onderstaande code toont de implementatie voor preg_match () tester functie voor het bovenstaande voorbeeld.
Blader naar de URL http: //localhost/phptuts/preg_match_simple.php
Laten we eens kijken naar het deel van de code dat verantwoordelijk is voor onze output "preg_match ('/ guru /', $ my_url)" HIER,
- "preg_match (…)" is de PHP-regex-functie
- "'/ guru /'" is het reguliere expressiepatroon dat moet worden vergeleken
- "$ my_url" is de variabele die de tekst bevat waarmee moet worden vergeleken.
Het onderstaande diagram vat de bovenstaande punten samen
PHP Preg_split ()
Laten we nu eens kijken naar een ander voorbeeld dat de preg_split () in PHP-functie gebruikt.
We nemen een string-frase en exploderen deze in een array; het patroon dat moet worden aangepast, is een enkele spatie.
De tekstreeks die in dit voorbeeld moet worden gebruikt, is "I Love Regular Expressions".
De onderstaande code illustreert de implementatie van het bovenstaande voorbeeld.
Blader naar de URL http: //localhost/phptuts/preg_split.php
PHP Preg_replace ()
Laten we nu kijken naar de preg_replace () in PHP-functie die een patroonovereenkomst uitvoert en vervolgens het patroon vervangt door iets anders.
De onderstaande code zoekt naar het woord goeroe in een string.
Het vervangt het woord goeroe door het woord goeroe omgeven door css-code die de achtergrondkleur benadrukt.
Ervan uitgaande dat u het bestand preg_replace.php, browser heeft opgeslagen op de URL http: //localhost/phptuts/preg_replace.php
Metatekens voor reguliere expressies
De bovenstaande voorbeelden gebruikten zeer basispatronen; metatekens stellen ons eenvoudig in staat om complexere patroonovereenkomsten uit te voeren, zoals het testen van de geldigheid van een e-mailadres. Laten we nu eens kijken naar de veelgebruikte metatekens.
Metateken | Omschrijving | Voorbeeld |
---|---|---|
| Komt overeen met elk willekeurig teken behalve een nieuwe regel | /./ komt overeen met alles dat één teken heeft |
| Komt overeen met het begin van of tekenreeks / sluit tekens uit | / PH / komt overeen met elke tekenreeks die begint met PH |
| Komt overeen met het patroon aan het einde van de string | / com $ / komt overeen met guru99.com, yahoo.com enz. |
| Komt overeen met nul (0) of meer tekens | / com * / komt overeen met computer, communicatie etc. |
| Vereist dat voorgaande teken (s) minstens één keer voorkomen | / yah + oo / komt overeen met yahoo |
| Wordt gebruikt om meta-tekens te ontsnappen | /yahoo+\.com/ behandelt de punt als een letterlijke waarde |
| Karakter klasse | / [abc] / komt overeen met abc |
az | Komt overeen met kleine letters | / az / komt overeen met cool, happy etc. |
AZ | Komt overeen met hoofdletters | / AZ / komt overeen met WAT, HOE, WAAROM etc. |
0-9 | Komt overeen met elk getal tussen 0 en 9 | / 0-4 / wedstrijden 0,1,2,3,4 |
De bovenstaande lijst geeft alleen de meest gebruikte metatekens in reguliere expressies.
Laten we nu eens kijken naar een vrij complex voorbeeld dat de geldigheid van een e-mailadres controleert.
Uitleg over het patroon "[/^^^^^^^^^^“ "
HIER,
- "'/… /'" Start en eindigt de reguliere expressie
- "[a-zA-Z0-9 ._-]" komt overeen met alle kleine letters of hoofdletters, cijfers tussen 0 en 9 en punten, onderstrepingstekens of streepjes.
- "+ @ [a-zA-Z0-9-]" komt overeen met het @ -symbool gevolgd door kleine letters of hoofdletters, cijfers tussen 0 en 9 of streepjes.
- "+ \. [a-zA-Z.] {2,5} $ /" ontsnapt aan de punt met behulp van de backslash en komt overeen met alle kleine of hoofdletters met een tekenlengte tussen 2 en 5 aan het einde van de tekenreeks.
Blader naar de URL http: //localhost/phptuts/preg_match.php
Zoals je kunt zien aan de hand van de bovenstaande uitsplitsing, zijn metatekens erg krachtig als het gaat om het matchen van patronen.
Overzicht
- Een reguliere expressie of regex in PHP is een algoritme voor patroonovereenkomst
- Reguliere expressies zijn erg handig bij het uitvoeren van validatiecontroles, het maken van HTML-sjabloonsystemen die tags herkennen enz.
- PHP heeft ingebouwde functies namelijk PHP preg_match (), PHP preg_split () en PHP preg_replace () die reguliere expressies ondersteunen.
- Metatekens stellen ons in staat om complexe patronen te creëren