Apgrieztā slīpsvītras problēma PHP
Apgrieztā slīpsvītra ir PHP speciālā rakstzīme. Tas nozīmē, ka virknē, ja mēs vēlamies, lai slīpsvītra apzīmētu pašu sevi, mums tā jādubulto:
<?php
$str = '\\ \\\\ \\\\\\'; // patiesībā virkne ir '\ \\ \\\'
?>
Apgrieztā slīpsvītra ir arī regulāro izteiksmju speciālā rakstzīme. Tas nozīmē, ka regulārajā izteiksmē, lai slīpsvītra apzīmētu pašu sevi, tā ir jāraksta pat četras reizes:
<?php
echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // izvadīs '! ! !!'
?>
Tagad uzrakstīsim regulāro izteiksmi, kurā
meklēšanas šablons būs šāds: apgrieztā slīpsvītra
viena vai vairākas reizes. Šādā gadījumā mēs
rakstīsim operatoru + aiz 4
rakstzīmēm pirms tā bez grupēšanas:
<?php
echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // izvadīs '! ! !'
?>
Dota virkne:
<?php
$str = 'a\\b c\\d e\\f';
?>
Atrodiet šajā virknē visas apakšvirknes pēc šablona burtss, apgrieztā slīpsvītra, burts.
Dota virkne:
<?php
$str = 'a\\b c\\\\d e\\\\\\f';
?>
Atrodiet šajā virknē visas apakšvirknes pēc šablona burts, apgrieztā slīpsvītra jebkurš daudzums reizes, burts.