PHP-dä regulýar ifadeleriň ulanylyşyny optimallaşdyrmak
Regulýar ifadeler örän agyr we näsazalyk bilen ýavaş işleýän zatdyr. Başga çözüm bar bolsa, islendik wagt olary ulanmak isleglidir.
Mysal üçin serediň. Belläň, biziň bir setiriň ýokardan "!" belgisi bilen başlaýandygyny barlamaly bolduk. Belli bir programmist bu meseläni regulýar ifade arkaly çözdi:
<?php
if (preg_match('#^!#', $str)) {
echo 'hawa';
} else {
echo 'ýok';
}
?>
Emma, bu meseläniň has çalt işleýän çözümi hem bar:
<?php
if ($str[0] == '!') {
echo 'hawa';
} else {
echo 'ýok';
}
?>
Regulýar ifadeler örän agyr we näsazalyk bilen ýavaş işleýän zatdyr. Hemişe, başga çözüm bar ýerde, islendik wagt olary ulanmak isleglidir.
Aşakdaky kodda belli bir programmist setiriň içinde
'333' setirçiginiň bardygyny barlaýar.
Bu programmistüň çözümini optimallaşdyryň.
Kod şu ýerde:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'bar';
} else {
echo 'ýok';
}
?>
Aşakdaky kodda belli bir programmist setiriň
.html bilen gutarýandygyny barlaýar.
Bu programmistüň çözümini optimallaşdyryň.
Kod şu ýerde:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'hawa';
} else {
echo 'ýok';
}
?>
.png ýa-da .jpg bilen gutarýan setiri
barlaýan kod ýazyň.