Βελτιστοποίηση της χρήσης κανονικών εκφράσεων στην PHP
Οι κανονικές εκφράσεις είναι ένα πολύ βαρύ και σχετικά αργό εργαλείο. Όταν υπάρχει εναλλακτική λύση, είναι προτιμότερο να χρησιμοποιείται αυτή.
Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι θέλουμε να ελέγξουμε αν μια συγκεκριμένη συμβολοσειρά ξεκινά με ένα θαυμαστικό. Ένας προγραμματιστής έλυσε αυτό το πρόβλημα χρησιμοποιώντας κανονική έκφραση:
<?php
if (preg_match('#^!#', $str)) {
echo 'ναι';
} else {
echo 'όχι';
}
?>
Ωστόσο, αυτό το πρόβλημα έχει μια πολύ γρηγορότερη λύση:
<?php
if ($str[0] == '!') {
echo 'ναι';
} else {
echo 'όχι';
}
?>
Οι κανονικές εκφράσεις είναι ένα πολύ βαρύ και σχετικά αργό εργαλείο. Πάντα, όπου υπάρχει εναλλακτική λύση, είναι προτιμότερο να χρησιμοποιείται αυτή.
Στον ακόλουθο κώδικα, ένας προγραμματιστής ελέγχει
αν υπάρχει η υποσυμβολοσειρά '333' στην συμβολοσειρά.
Βελτιστοποιήστε τη λύση αυτού του προγραμματιστή.
Εδώ είναι ο κώδικας:
<?php
$str = '1233345';
if (preg_match('#333#', $str)) {
echo 'υπάρχει';
} else {
echo 'δεν υπάρχει';
}
?>
Στον ακόλουθο κώδικα, ένας προγραμματιστής ελέγχει
αν η συμβολοσειρά τελειώνει με .html.
Βελτιστοποιήστε τη λύση αυτού του προγραμματιστής.
Εδώ είναι ο κώδικας:
<?php
$str = 'index.html';
if (preg_match('#\.html$#', $str)) {
echo 'ναι';
} else {
echo 'όχι';
}
?>
Γράψτε κώδικα που θα ελέγχει αν μια συμβολοσειρά τελειώνει
με .png ή με .jpg.