Optimering van die gebruik van regulêre uitdrukkings in PHP
Regulêre uitdrukkings is baie swaar en relatief stadig werkende dinge. Wanneer daar 'n alternatiewe oplossing is, is dit verkieslik om dit te gebruik.
Kom ons kyk na 'n voorbeeld. Gestel ons moet nagaan of 'n sekere string met 'n uitroepteken begin. 'n Sekere programmeur het hierdie taak opgelos deur 'n reguliere uitdrukking te gebruik:
<?php
if (preg_match('#^!#', $str)) {
echo 'ja';
} else {
echo 'nee';
}
?>
Hierdie taak het egter 'n baie vinniger werkende oplossing:
<?php
if ($str[0] == '!') {
echo 'ja';
} else {
echo 'nee';
}
?>
Regulêre uitdrukkings is baie swaar en relatief stadig werkende dinge. Waar daar 'n alternatiewe oplossing is, is dit altyd verkieslik om dit te gebruik.
In die volgende kode gaan 'n sekere programmeur na
of die string die substring '333' bevat.
Optimaliseer hierdie programmeur se oplossing.
Hier is die kode:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'is daar';
} else {
echo 'nie daar nie';
}
?>
In die volgende kode gaan 'n sekere programmeur na
of die string op .html eindig.
Optimaliseer hierdie programmeur se oplossing.
Hier is die kode:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'ja';
} else {
echo 'nee';
}
?>
Skryf kode wat sal nagaan of 'n string
op .png of op .jpg eindig.