Hva er vanlig uttrykk i PHP?
PHP Regular Expression, også kjent som regex, er kraftig mønstermatchingsalgoritme som kan utføres i et enkelt uttrykk. Vanlige uttrykk bruker aritmetiske operatorer som (+, -, ^) for å lage komplekse uttrykk. De kan hjelpe deg med å utføre oppgaver som å validere e-postadresser, IP-adresse etc.
Hvorfor bruke vanlige uttrykk
- PHP-regulære uttrykk forenkler å identifisere mønstre i strengdata ved å ringe til en enkelt funksjon. Dette sparer oss for kodingstid.
- Når du validerer brukerinngang, for eksempel e-postadresse, domenenavn, telefonnummer, IP-adresser,
- Fremheve nøkkelord i søkeresultatene
- Når du oppretter en tilpasset HTML-mal. Regex i PHP kan brukes til å identifisere malkoder og erstatte dem med faktiske data.
I denne PHP Regex-opplæringen vil du lære:
- Innebygde funksjoner for regulært uttrykk i PHP
- PHP Preg_match ()
- PHP Preg_split ()
- PHP Preg_replace ()
- Vanlige uttrykk Metategn
- Forklare mønsteret
Innebygde funksjoner for regulært uttrykk i PHP
PHP har innebygd funksjoner som lar oss jobbe med vanlige funksjoner som vi vil lære i denne PHP Regular Expressions-veiledningen. La oss se på de vanlige funksjonene for regulære uttrykk i PHP.
- preg_match () i PHP - denne funksjonen brukes til å utføre mønstermatching i PHP på en streng. Det returnerer sant hvis en kamp blir funnet og falsk hvis en samsvar ikke blir funnet.
- preg_split () i PHP - denne funksjonen brukes til å utføre en mønstermatch på en streng og deretter dele resultatene i en numerisk matrise
- preg_replace () i PHP - denne funksjonen brukes til å utføre et mønstermatch på en streng og deretter erstatte samsvaret med den angitte teksten.
Nedenfor er syntaksen for en vanlig uttrykksfunksjon som PHP preg_match (), PHP preg_split () eller PHP preg_replace ().
HER,
- "funksjonsnavn (...)" er enten PHP preg_match (), PHP preg_split () eller PHP preg_replace ().
- "/… /" Foroverskråninger angir begynnelsen og slutten av vår PHP regex-testerfunksjon
- "'/ mønster /'" er det mønsteret vi trenger å matche
- "emne" er tekststrengen som skal matches
La oss nå se på praktiske eksempler som implementerer ovennevnte PHP regex-funksjoner.
PHP Preg_match ()
Det første eksemplet bruker preg_match () i PHP-funksjonen til å utføre en enkel mønstersamsvar for ordet guru i en gitt URL.
Koden nedenfor viser implementeringen for preg_match () testerfunksjon for eksemplet ovenfor.
Bla til URL-en http: //localhost/phptuts/preg_match_simple.php
La oss undersøke den delen av koden som er ansvarlig for utgangen vår "preg_match ('/ guru /', $ my_url)" HER,
- "preg_match (…)" er PHP regex-funksjonen
- "'/ guru /'" er det vanlige uttrykksmønsteret som skal matches
- "$ my_url" er variabelen som inneholder teksten som skal matches.
Diagrammet nedenfor oppsummerer punktene ovenfor
PHP Preg_split ()
La oss nå se på et annet eksempel som bruker preg_split () i PHP-funksjonen.
Vi tar en strengfrase og eksploderer den i en matrise; mønsteret som skal matches, er et enkelt mellomrom.
Tekststrengen som skal brukes i dette eksemplet er "Jeg elsker vanlige uttrykk".
Koden nedenfor illustrerer implementeringen av eksemplet ovenfor.
Bla til URL-en http: //localhost/phptuts/preg_split.php
PHP Preg_replace ()
La oss nå se på preg_replace () i PHP-funksjonen som utfører en mønstermatch og deretter erstatter mønsteret med noe annet.
Koden nedenfor søker etter ordet guru i en streng.
Det erstatter ordet guru med ordet guru omgitt av css-kode som fremhever bakgrunnsfargen.
Forutsatt at du har lagret filen preg_replace.php, nettleser til URL http: //localhost/phptuts/preg_replace.php
Vanlige uttrykk Metategn
Ovennevnte eksempler brukte veldig grunnleggende mønstre; metategn lar oss ganske enkelt utføre mer komplekse mønsterkamper som for eksempel å teste gyldigheten til en e-postadresse. La oss nå se på de vanlige metategnene.
Metakarakter | Beskrivelse | Eksempel |
---|---|---|
. | Matcher et enkelt tegn bortsett fra en ny linje | /./ samsvarer med alt som har et enkelt tegn |
^ | Matcher begynnelsen på eller streng / ekskluderer tegn | / PH / samsvarer med en streng som starter med PH |
$ | Matcher mønster på slutten av strengen | / com $ / samsvarer med guru99.com, yahoo.com Etc. |
* | Matcher alle null (0) eller flere tegn | / com * / samsvarer med datamaskin, kommunikasjon etc. |
+ | Krever forrige tegn vises minst en gang | / yah + oo / samsvarer med yahoo |
\ | Brukes for å unnslippe metakarakterer | /yahoo+\.com/ behandler prikken som en bokstavelig verdi |
[…] | Karakterklasse | / [abc] / samsvarer med abc |
az | Matcher små bokstaver | / az / matcher kule, glade osv. |
AZ | Matcher store bokstaver | / AZ / samsvarer med HVA, HVORDAN, HVORFOR etc. |
0-9 | Matcher hvilket som helst tall mellom 0 og 9 | / 0-4 / treffer 0,1,2,3,4 |
Listen over gir bare de mest brukte metategnene i vanlige uttrykk.
La oss nå se på et ganske komplekst eksempel som sjekker gyldigheten til en e-postadresse.
Forklaring av mønsteret "[/[aa-ZA-Z0-9._- ]+@ [aa- zA-Z0-9-] +\. [Aa-zA-Z.] {2,5,5 $ /] "
HER,
- "'/ ... /'" starter og slutter det regulære uttrykket
- "[a-zA-Z0-9 ._-]" samsvarer med små eller store bokstaver, tall mellom 0 og 9 og prikker, understrek eller streker.
- "+ @ [a-zA-Z0-9-]" samsvarer med @ -symbolet etterfulgt av små eller store bokstaver, tall mellom 0 og 9 eller bindestreker.
- "+ \. [a-zA-Z.] {2,5} $ /" unnslipper prikken ved å bruke tilbakeslag, og samsvarer med små eller store bokstaver med en tegnlengde mellom 2 og 5 på slutten av strengen.
Bla til URL-en http: //localhost/phptuts/preg_match.php
Som du kan se fra eksemplet ovenfor, er metategn veldig kraftige når det gjelder samsvarende mønstre.
Sammendrag
- Et vanlig uttrykk eller Regex i PHP er en mønstermatchalgoritme
- Vanlige uttrykk er veldig nyttige når du utfører valideringskontroller, oppretter HTML mal-systemer som gjenkjenner koder etc.
- PHP har innebygd funksjoner, nemlig PHP preg_match (), PHP preg_split () og PHP preg_replace () som støtter vanlige uttrykk.
- Metategn lar oss lage komplekse mønstre