Regulaaravaldiste kasutamise optimeerimine PHP-s
Regulaaravaldised on väga ressursimahukad ja suhteliselt aeglase töökiirusega asi. Kui on olemas alternatiivne lahendus, on soovitav kasutada just seda.
Vaatame näidet. Oletame, et peame kontrollima, kas mingi string algab hüüumärgiga. Mingi programmeerija lahendas selle ülesande regulaaravaldise abil:
<?php
if (preg_match('#^!#', $str)) {
echo 'jah';
} else {
echo 'ei';
}
?>
Kuid sellel ülesandel on palju kiirem lahendus:
<?php
if ($str[0] == '!') {
echo 'jah';
} else {
echo 'ei';
}
?>
Regulaaravaldised on väga ressursimahukad ja suhteliselt aeglase töökiirusega asi. Alati, kus on olemas alternatiivne lahendus, on soovitav kasutada just seda.
Järgmises koodis kontrollib mingi programmeerija,
kas stringis on alamstring '333'.
Optimeerige selle programmeerija lahendus.
Siin on kood:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'on';
} else {
echo 'ei ole';
}
?>
Järgmises koodis kontrollib mingi programmeerija,
kas string lõpeb .html-ga.
Optimeerige selle programmeerija lahendus.
Siin on kood:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'jah';
} else {
echo 'ei';
}
?>
Kirjutage kood, mis kontrollib, kas string
lõpeb .png või .jpg-ga.