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';
?>
იპოვეთ ამ სტრიქონში ყველა ქვესტრიქონი შაბლონის მიხედვით ასო, წარმატებული ხაზი ნებისმიერი რაოდენობით, ასო.