Вовед во регуларни изрази во PHP
Регуларните изрази се такви команди за сложено пребарување и замена. Тие дозволуваат да се прават многу интересни работи, но, за жал, прилично се тешки за совладување.
Постојат неколку функции во PHP за работа
со регуларни изрази. Ќе започнеме да се запознаваме
со нив на примерот од preg_replace. Оваа
функција како прв параметар прифаќа што да се смени,
а како втор - на што да се смени, а како трет параметар
- низа, во која треба да се направи замена:
<?php
preg_replace(што да се смени, на што, низа);
?>
При тоа, како прв параметар нашата функција прифаќа
не само низа, туку регуларен израз,
кој претставува низа со набор на команди,
сместени внатре во симболите решетка #.
Овие решетки се нарекуваат ограничувачи
на регуларните изрази.
После ограничувачите може да се пишуваат модификатори - команди кои ги менуваат општите својства на регуларниот израз.
Самите регуларни изрази се состојат од два типа на симболи: од оние, кои ги означуваат самите себе и од симболи-команди, кои се нарекуваат специјални симболи.
Буквите и цифрите ги означуваат самите себе. Во следниот
пример ќе ја замениме буквата 'a' со '!'
со помош на регуларен израз:
<?php
preg_replace('#a#', '!', 'bab'); // ќе врати 'b!b'
?>
А точката е специјален симбол
и означува кој било симбол. Во следниот
пример ќе пронајдеме низа според таква шаблон:
буква 'x', потоа кој било симбол, потоа
повторно буква 'x':
<?php
preg_replace('#x.x#', '!', 'xax eee'); // ќе врати '! eee'
?>
Дадена е низа:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Напишете регуларен израз, кој ќе ги пронајде низите
'ahb', 'acb', 'aeb'
според шаблонот: буква 'a', кој било симбол,
буква 'b'.
Дадена е низа:
<?php
$str = 'ahb acb aeb aeeb adcb axeb';
?>
Напишете регуларен израз, кој ќе ги пронајде низите
'aeeb', 'adcb', 'axeb'
според шаблонот: буква 'a', два кои било
симболи, буква 'b'.