PHPda Teskari Chiziq Muammosi
Teskari chiziq PHPning maxsus belgisidir. Bu shuni anglatadiki, qator ichida, agar biz xohlasak, chiziq o'zini anglatishi uchun, biz uni ikki marta takrorlashimiz kerak:
<?php
$str = '\\ \\\\ \\\\\\'; // aslida qator '\ \\ \\\'
?>
Teskari chiziq shuningdek muntazam ifodalarning ham maxsus belgisidir. Bu shuni anglatadiki, muntazam ifoda ichida, chiziq o'zini anglatishi uchun, uni to'rt marta yozishimiz kerak:
<?php
echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // chiqadi '! ! !!'
?>
Keling endi shunday muntazam ifoda yozaylik, unda
qidiruv shabloni quyidagicha bo'ladi: teskari chiziq
bir yoki bir necha marta. Bunday holda biz
+ operatorini guruhlamasdan oldingi
4 belgi uchun yozamiz:
<?php
echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // chiqadi '! ! !'
?>
Berilgan qator:
<?php
$str = 'a\\b c\\d e\\f';
?>
Ushbu qatordagi barcha pastki qatorlarni shablon bo'yicha toping harf, teskari chiziq, harf.
Berilgan qator:
<?php
$str = 'a\\b c\\\\d e\\\\\\f';
?>
Ushbu qatordagi barcha pastki qatorlarni shablon bo'yicha toping harf, teskari chiziq istalgan miqdorda, harf.