Optimalisering av bruk av regulære uttrykk i PHP
Regulære uttrykk er veldig tunge og relativt tregt fungerende ting. Når det finnes en alternativ løsning, er det ønskelig å bruke nettopp den.
La oss se på et eksempel. Anta at vi må sjekke om en bestemt streng starter med et utropstegn. En programmerer løste denne oppgaven med et regulært uttrykk:
<?php
if (preg_match('#^!#', $str)) {
echo 'ja';
} else {
echo 'nei';
}
?>
Imidlertid har en slik oppgave en mye raskere løsning:
<?php
if ($str[0] == '!') {
echo 'ja';
} else {
echo 'nei';
}
?>
Regulære uttrykk er veldig tunge og relativt tregt fungerende ting. Alltid, hvor det finnes en alternativ løsning, er det ønskelig å bruke nettopp den.
I følgende kode sjekker en programmerer om
det finnes en delstreng '333' i strengen.
Optimaliser løsningen til denne programmereren.
Her er koden:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'finnes';
} else {
echo 'finnes ikke';
}
?>
I følgende kode sjekker en programmerer om
strengen slutter med .html.
Optimaliser løsningen til denne programmereren.
Her er koden:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'ja';
} else {
echo 'nei';
}
?>
Skriv kode som vil sjekke om strengen slutter
på .png eller på .jpg.