Το πρόβλημα της ανάστροφης πλάγιας γραμμής στην 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';
?>
Βρείτε σε αυτήν τη συμβολοσειρά όλες τις υποσυμβολοσειρές που ταιριάζουν στο μοτίβο γράμμα, ανάστροφη πλάγια γραμμή οποιοσδήποτε αριθμός φορών, γράμμα.