Vad är reguljärt uttryck i PHP?
PHP Regular Expression, även känt som regex, är en kraftfull mönstermatchningsalgoritm som kan utföras i ett enda uttryck. Vanliga uttryck använder aritmetiska operatorer som (+, -, ^) för att skapa komplexa uttryck. De kan hjälpa dig att utföra uppgifter som att validera e-postadresser, IP-adress etc.
Varför använda reguljära uttryck
- PHP-reguljära uttryck förenklar identifieringsmönster i strängdata genom att anropa en enda funktion. Detta sparar oss kodningstid.
- Vid validering av användarinmatning som e-postadress, domännamn, telefonnummer, IP-adresser,
- Markera nyckelord i sökresultaten
- När du skapar en anpassad HTML-mall. Regex i PHP kan användas för att identifiera malltaggarna och ersätta dem med verklig data.
I denna PHP Regex-handledning lär du dig:
- Inbyggda Regular expression-funktioner i PHP
- PHP Preg_match ()
- PHP Preg_split ()
- PHP Preg_replace ()
- Metatecken för vanligt uttryck
- Förklara mönstret
Inbyggda Regular expression-funktioner i PHP
PHP har inbyggda funktioner som gör att vi kan arbeta med vanliga funktioner som vi kommer att lära oss i denna självstudie om PHP Regular Expressions. Låt oss titta på de vanliga funktionerna för reguljära uttryck i PHP.
- preg_match () i PHP - den här funktionen används för att utföra mönstermatchning i PHP på en sträng. Det returnerar sant om en matchning hittas och falsk om en matchning inte hittas.
- preg_split () i PHP - den här funktionen används för att utföra en mönstermatchning på en sträng och dela sedan resultaten i en numerisk matris
- preg_replace () i PHP - den här funktionen används för att utföra en mönstermatchning på en sträng och sedan ersätta matchningen med den angivna texten.
Nedan visas syntaxen för en reguljär expressionsfunktion som PHP preg_match (), PHP preg_split () eller PHP preg_replace ().
HÄR,
- "funktionsnamn (...)" är antingen PHP preg_match (), PHP preg_split () eller PHP preg_replace ().
- "/ ... /" Snedstreck framåt betecknar början och slutet av vår PHP-regex-testfunktion
- "'/ mönster /'" är det mönster som vi behöver matcha
- "ämne" är den textsträng som ska matchas
Låt oss nu titta på praktiska exempel som implementerar ovanstående PHP regex-funktioner.
PHP Preg_match ()
Det första exemplet använder preg_match () i PHP-funktionen för att utföra en enkel mönstermatchning för ordet guru i en given URL.
Koden nedan visar implementeringen av testfunktionen preg_match () för exemplet ovan.
Bläddra till webbadressen http: //localhost/phptuts/preg_match_simple.php
Låt oss undersöka den del av koden som är ansvarig för vår utgång "preg_match ('/ guru /', $ my_url)" HÄR,
- "preg_match (…)" är PHP regex-funktionen
- "'/ guru /'" är det reguljära uttrycksmönstret som ska matchas
- "$ my_url" är variabeln som innehåller texten som ska matchas.
Diagrammet nedan sammanfattar ovanstående punkter
PHP Preg_split ()
Låt oss nu titta på ett annat exempel som använder preg_split () i PHP-funktionen.
Vi tar en strängfras och exploderar den i en matris; mönstret som ska matchas är ett enda mellanslag.
Textsträngen som ska användas i detta exempel är "Jag älskar vanliga uttryck".
Koden nedan illustrerar implementeringen av exemplet ovan.
Bläddra till webbadressen http: //localhost/phptuts/preg_split.php
PHP Preg_replace ()
Låt oss nu titta på preg_replace () i PHP-funktionen som utför en mönstermatchning och sedan ersätter mönstret med något annat.
Koden nedan söker efter ordet guru i en sträng.
Det ersätter ordet guru med ordet guru omgiven av css-kod som belyser bakgrundsfärgen.
Förutsatt att du har sparat filen preg_replace.php, webbläsare till URL: en http: //localhost/phptuts/preg_replace.php
Metatecken för vanligt uttryck
Ovanstående exempel använde mycket grundläggande mönster; metatecken gör det enkelt för oss att utföra mer komplexa mönstermatchningar som att testa giltigheten för en e-postadress. Låt oss nu titta på de vanliga metatecken.
Metatecken | Beskrivning | Exempel |
---|---|---|
. | Matchar varje enskilt tecken utom en ny rad | /./ matchar allt som har en enda karaktär |
^ | Matchar början av eller sträng / exkluderar tecken | / PH / matchar alla strängar som börjar med PH |
$ | Matchar mönster i slutet av strängen | / com $ / matchar guru99.com, yahoo.com Etc. |
* | Matchar alla noll (0) eller fler tecken | / com * / matchar dator, kommunikation etc. |
+ | Kräver föregående tecken visas minst en gång | / yah + oo / matchar yahoo |
\ | Används för att fly metatecken | /yahoo+\.com/ behandlar punkten som ett bokstavligt värde |
[…] | Karaktärsklass | / [abc] / matchar abc |
az | Matchar gemener | / az / matchar cool, glad etc. |
AZ | Matchar versaler | / AZ / matchar VAD, HUR, VARFÖR etc. |
0-9 | Matchar valfritt tal mellan 0 och 9 | / 0-4 / matchar 0,1,2,3,4 |
Listan ovan ger endast de vanligaste metatecknen i reguljära uttryck.
Låt oss nu titta på ett ganska komplext exempel som kontrollerar giltigheten av en e-postadress.
Förklara mönstret "[/[aa-ZA-Z0-9._-] +@ [aa- zA-Z0-9-] +\. [Aa-zA-Z.] "
HÄR,
- "'/ ... /'" startar och avslutar det reguljära uttrycket
- "[a-zA-Z0-9 ._-]" matchar små eller stora bokstäver, siffror mellan 0 och 9 och punkter, understrykningar eller bindestreck.
- "+ @ [a-zA-Z0-9-]" matchar @ -symbolen följt av gemener eller versaler, siffror mellan 0 och 9 eller bindestreck.
- "+ \. [a-zA-Z.] {2,5} $ /" slipper punkten med hjälp av snedstrecket och matchar sedan små eller stora bokstäver med en teckenlängd mellan 2 och 5 i slutet av strängen.
Bläddra till webbadressen http: //localhost/phptuts/preg_match.php
Som du kan se från ovanstående uppdelning är metatecken mycket kraftfulla när det gäller matchande mönster.
Sammanfattning
- Ett reguljärt uttryck eller Regex i PHP är en mönstermatchningsalgoritm
- Regelbundna uttryck är mycket användbara när du utför valideringskontroller, skapar HTML-mallsystem som känner igen taggar etc.
- PHP har inbyggda funktioner, nämligen PHP preg_match (), PHP preg_split () och PHP preg_replace () som stöder reguljära uttryck.
- Metatecken gör att vi kan skapa komplexa mönster