PHP'de Düzenli İfadelerin Kullanımını Optimize Etme
Düzenli ifadeler çok ağır ve nispeten yavaş çalışan bir şeydir. Alternatif bir çözüm olduğunda, kesinlikle onu kullanmak gerekir.
Bir örnekle bakalım. Diyelim ki bir dizginin ünlem işaretiyle başlayıp başlamadığını kontrol etmemiz gerekiyor. Bazı programcılar bu sorunu bir düzenli ifadeyle çözmüş:
<?php
if (preg_match('#^!#', $str)) {
echo 'evet';
} else {
echo 'hayır';
}
?>
Ancak, böyle bir sorun çok daha hızlı çalışan bir çözüme sahiptir:
<?php
if ($str[0] == '!') {
echo 'evet';
} else {
echo 'hayır';
}
?>
Düzenli ifadeler çok ağır ve nispeten yavaş çalışan bir şeydir. Alternatif bir çözümün olduğu her yerde, kesinlikle onu kullanmak gerekir.
Aşağıdaki kodda bazı programcılar, bir dizgide
'333' alt dizisinin olup olmadığını kontrol ediyor.
Bu programcının çözümünü optimize edin.
İşte kod:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'var';
} else {
echo 'yok';
}
?>
Aşağıdaki kodda bazı programcılar, bir dizginin
.html ile bitip bitmediğini kontrol ediyor.
Bu programcının çözümünü optimize edin.
İşte kod:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'evet';
} else {
echo 'hayır';
}
?>
Bir dizginin .png veya .jpg ile bitip
bitmediğini kontrol edecek kodu yazın.