PHP-də Requlyar İfadələrin İstifadəsinin Optimallaşdırılması
Requlyar ifadələr çox ağır və nisbətən yavas işleyən bir şeydir. Alternativ həll olduqda, arzu olunandır ki, ondan istifadə edilsin.
Bir nümunəyə baxaq. Tutaq ki, bir sətirin nida işareti ile başlayıb-başlamadığını yoxlamaq lazımdır. Bir proqramçı bu problemi requlyar ifadə vasitəsilə həll etmişdir:
<?php
if (preg_match('#^!#', $str)) {
echo 'bəli';
} else {
echo 'xeyr';
}
?>
Lakin, belə bir problemin daha sürətli işleyen həlli var:
<?php
if ($str[0] == '!') {
echo 'bəli';
} else {
echo 'xeyr';
}
?>
Requlyar ifadələr çox ağır və nisbətən yavas işleyən bir şeydir. Hər zaman, alternativ həll olduqda, arzu olunandır ki, ondan istifadə edilsin.
Aşağıdakı kodda bir proqramçı sətirdə
'333' alt sətirinin olub-olmadığını yoxlayır.
Bu proqramçının həllini optimallaşdırın.
Kod belədir:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'var';
} else {
echo 'yox';
}
?>
Aşağıdakı kodda bir proqramçı sətirin
.html ile bitib-bitmediyini yoxlayır.
Bu proqramçının həllini optimallaşdırın.
Kod belədir:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'bəli';
} else {
echo 'xeyr';
}
?>
Sətirin .png ve ya .jpg ile
bitib-bitmediyini yoxlayan kod yazın.