Optimalisatie van het gebruik van reguliere expressies in PHP
Reguliere expressies zijn een zeer zware en relatief traag werkend iets. Wanneer er een alternatieve oplossing is, is het wenselijk om deze te gebruiken.
Laten we een voorbeeld bekijken. Stel dat we moeten controleren of een bepaalde string begint met een uitroepteken. Een programmeur heeft deze taak opgelost met behulp van een reguliere expressie:
<?php
if (preg_match('#^!#', $str)) {
echo 'ja';
} else {
echo 'nee';
}
?>
Echter, zo'n taak heeft een veel sneller werkende oplossing:
<?php
if ($str[0] == '!') {
echo 'ja';
} else {
echo 'nee';
}
?>
Reguliere expressies zijn een zeer zware en relatief traag werkend iets. Altijd, waar er een alternatieve oplossing is, is het wenselijk om deze te gebruiken.
In de volgende code controleert een programmeur
of de string de substring '333' bevat.
Optimaliseer de oplossing van deze programmeur.
Hier is de code:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'aanwezig';
} else {
echo 'afwezig';
}
?>
In de volgende code controleert een programmeur
of de string eindigt op .html.
Optimaliseer de oplossing van deze programmeur.
Hier is de code:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'ja';
} else {
echo 'nee';
}
?>
Schrijf code die controleert of een string
eindigt op .png of op .jpg.