Проблема со обратна коса црта во PHP
Обратната коса црта е специјален симбол во PHP. Ова значи дека во стрингот, ако сакаме обратната коса црта да ја претставува самата себе, мораме да ја удвоиме:
<?php
$str = '\\ \\\\ \\\\\\'; // всушност стрингот е '\ \\ \\\'
?>
Обратната коса црта е исто така и специјален симбол во регуларните изрази. Ова значи дека внатре во регуларниот израз, за обратната коса црта да ја претставува самата себе, треба да се напише дури четири пати:
<?php
echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // ќе испринта '! ! !!'
?>
Ајде сега да напишеме регуларен израз во кој
шаблонот за пребарување ќе биде: обратна коса црта
еден или повеќе пати. Во таков случај ние
го пишуваме операторот + за 4
симболи пред него без групирање:
<?php
echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // ќе испринта '! ! !'
?>
Даден е стрингот:
<?php
$str = 'a\\b c\\d e\\f';
?>
Пронајдете во овој стринг сите подстрингови според шаблонот буква, обратна коса црта, буква.
Даден е стрингот:
<?php
$str = 'a\\b c\\\\d e\\\\\\f';
?>
Пронајдете во овој стринг сите подстрингови според шаблонот буква, обратна коса црта било кој број пати, буква.