Аптымізацыя выкарыстання рэгулярак у 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.