Reguláris kifejezések használatának optimalizálása PHP-ban
A reguláris kifejezések nagyon erőforrásigényesek és viszonylag lassan működnek. Amikor van alternatív megoldás, célszerű azt használni.
Nézzünk egy példát. Tegyük fel, ellenőriznünk kell, hogy egy bizonyos sztring felkiáltó jellel kezdődik-e. Egy programozó reguláris kifejezéssel oldotta meg ezt a feladatot:
<?php
if (preg_match('#^!#', $str)) {
echo 'igen';
} else {
echo 'nem';
}
?>
Ugyanakkor, ennek a feladatnak sokkal gyorsabb megoldása is van:
<?php
if ($str[0] == '!') {
echo 'igen';
} else {
echo 'nem';
}
?>
A reguláris kifejezések nagyon erőforrásigényesek és viszonylag lassan működnek. Mindig, ahol van alternatív megoldás, célszerű azt használni.
A következő kódban egy programozó azt ellenőrzi,
hogy a sztring tartalmazza-e a '333' részt.
Optimalizálja a programozó megoldását.
Itt a kód:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'van';
} else {
echo 'nincs';
}
?>
A következő kódban egy programozó azt ellenőrzi,
hogy a sztring a .html végződéssel rendelkezik-e.
Optimalizálja a programozó megoldását.
Itt a kód:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'igen';
} else {
echo 'nem';
}
?>
Írjon kódot, amely ellenőrzi, hogy a sztring
a .png vagy a .jpg végződéssel rendelkezik-e.