Arduino

PHP reguliere expressies: Preg_match, Preg_split, Preg_replace

Wat is een reguliere expressie?

Reguliere expressies zijn krachtige algoritmen voor patroon aanpassing die in een enkele expressie kunnen worden uitgevoerd.

Reguliere expressies gebruiken rekenkundige operatoren zoals (+, -, ^) om complexe uitdrukkingen te maken.

Reguliere expressies helpen u bij het uitvoeren van taken zoals het valideren van email adressen, IP adres etc.

Waarom reguliere expressies gebruiken?

In deze tutorial leer je:

Reguliere expressies in PHP

PHP heeft ingebouwde functies waarmee we met reguliere functies kunnen werken. Laten we nu kijken naar de veelgebruikte reguliere expressie functies in PHP.

Hieronder is de syntaxis voor een reguliere expressie-functie zoals preg_match, preg_split of preg_replace.

<? Php
FUNCTION_NAME('/patroon/',subject);
?>

Laten we nu kijken naar praktische voorbeelden die de bovenstaande reguliere expressiefuncties in PHP implementeren.

PHP Preg_match

Het eerste voorbeeld gebruikt de functie preg_match om een ​​eenvoudige patroonovereenkomst uit te voeren voor het woord goeroe in een bepaalde URL.

De onderstaande code toont de implementatie voor het bovenstaande voorbeeld.

<? Php
$mijn_url =  "www.goeroe25.bc";
  if (preg_match("/goeroe/", $mijn_url))
  {
     echo "de url $mijn_url bevat goeroe";
  }
  else
  {
     echo "de url $mijn_url bevat geen goeroe";
  }
?>

Blader naar de URL http: //localhost/phptuts/preg_match_simple.php

Laten we het deel van de code onderzoeken dat verantwoordelijk is voor onze uitvoer preg_match('/guru/', $mijn_url)

PHP Preg_split

Laten we nu naar een ander voorbeeld kijken dat de preg_split-functie gebruikt.

We nemen een string en splitsen het in een array; het patroon dat moet worden vergeleken, is een enkele spatie.

De tekststring die in dit voorbeeld moet worden gebruikt, is "I Love Regular Expressions".

De onderstaande code illustreert de implementatie van het bovenstaande voorbeeld.

<? Php
$my_text = "I Love Regular Expressions";
$my_array = preg_split  ("/ /", $my_text);
print_r ($mijn_array);
?>

Blader naar de URL http: //localhost/phptuts/preg_split.php

PHP Preg_replace

Laten we nu kijken naar de functie preg_replace die een patroonovereenkomst uitvoert en vervolgens het patroon door iets anders vervangt.

De onderstaande code zoekt naar het woord goeroe in een string.

Het vervangt het woord goeroe door het woord goeroe omringd door css-code die de achtergrondkleur benadrukt.

<? Php
$text = "goeroe streeft er naar onderwijs van hoge kwaliteit voor de massa betaalbaar te maken.
$text = preg_replace ("/goeroe/", '<span style="background:yellow"> goeroe </ span>', $text)
echo $tekst;
?>

Ervan uitgaande dat u het bestand preg_replace.php hebt opgeslagen, blader naar de URL http: //localhost/phptuts/preg_replace.php

Meta-tekens

De bovenstaande voorbeelden gebruikten zeer eenvoudige patronen; metacharacters laten ons eenvoudig toe om meer complexe patroonovereenkomsten uit te voeren, zoals de geldigheid van een emailadres testen. Laten we nu kijken naar de veelgebruikte metatekens.

metateken Omschrijving Voorbeeld
. Komt overeen met een willekeurig teken, behalve een nieuwe regel /./ komt overeen met alles dat één teken heeft
^ Komt overeen met het begin van tekens of tekens uitsluiten / uitsluiten / ^ PH / komt overeen met elke tekenreeks die met PH begint
$ Komt overeen met het patroon aan het einde van de reeks / com $ / overeenkomt met guru99.com, yahoo.com Etc.
* Komt overeen met nul (0) of meer tekens / com * / komt overeen met computer, communicatie etc.
+ Vereist voorgaande tekens verschijnen minstens één keer / yah + oo / komt overeen met yahoo
\ Gebruikt om metatekens te ontsnappen /yahoo+\.com/ behandelt de punt als een letterlijke waarde
[...] Tekenklasse / [abc] / komt overeen met abc
az Komt overeen met kleine letters / az / wedstrijden cool, blij etc.
AZ Komt overeen met hoofdletters / AZ / wedstrijden 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 kijken naar een redelijk complex voorbeeld dat de geldigheid van een emailadres controleert.

<? Php
$my_email = "naam@bedrijf.com";
if (preg_match("/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/", $my_email)) {
  echo "$mijn_email is een geldig emailadres";
}
else
{
  echo "$my_email is GEEN geldig emailadres";
}
?>

Het patroon uitleggen "[/^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/]"

Blader naar de URL http: //localhost/phptuts/preg_match.php

Zoals je kunt zien aan de hand van de bovenstaande uitsplitsing van het voorbeeld, zijn metatekens heel krachtig als het gaat om het matchen van patronen.

Samenvatting

Vorige Volgende