PHP-də tərs slash problemini
Tərs slash PHP-də xüsusi simvoldur. Bu o deməkdir ki, sətirdə əgər biz istəyiriksə ki, slash özünü ifadə etsin, onu ikiqat artırmalıyıq:
<?php
$str = '\\ \\\\ \\\\\\'; // əslində sətir '\ \\ \\\'
?>
Tərs slash həm də regex ifadələrinin də xüsusi simvoludur. Bu o deməkdir ki, regex-in daxilində, slash özünü ifadə etmək üçün onu dörd dəfə yazmaq lazımdır:
<?php
echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // çıxardacaq: '! ! !!'
?>
Gəlin indi elə bir regex yazaq ki, onda
axtarış şablonu belə olsun: tərs slash
bir və ya daha çox dəfə. Belə bir halda biz
+ operatorunu qruplaşdırmadan 4
simvoldan əvvəl yazacayıq:
<?php
echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // çıxardacaq: '! ! !'
?>
Sətir verilmişdir:
<?php
$str = 'a\\b c\\d e\\f';
?>
Bu sətirdə hərf, tərs slash, hərf şablonuna uyğun bütün alt sətirləri tapın.
Sətir verilmişdir:
<?php
$str = 'a\\b c\\\\d e\\\\\\f';
?>
Bu sətirdə hərf, tərs slash istənilən sayda, hərf şablonuna uyğun bütün alt sətirləri tapın.