PHP'de Ters Eğik Çizgi Sorunu
Ters eğik çizgi PHP'nin özel bir karakteridir. Bu, bir dizide eğik çizginin kendisini temsil etmesini istiyorsak, iki katına çıkarmamız gerektiği anlamına gelir:
<?php
$str = '\\ \\\\ \\\\\\'; // aslında dize '\ \\ \\\'
?>
Ters eğik çizgi aynı zamanda düzenli ifadelerin de özel bir karakteridir. Bu, düzenli ifadenin içinde eğik çizginin kendisini temsil etmesi için dört kez yazmamız gerektiği anlamına gelir:
<?php
echo preg_replace('#\\\\#', '!', '\\ \\\\ \\\\\\'); // çıktısı: '! ! !!'
?>
Şimdi arama kalıbı bir veya daha fazla ters eğik çizgi olan
bir düzenli ifade yazalım. Bu durumda, gruplama olmadan önceki
4 karakter için + operatörünü yazacağız:
<?php
echo preg_replace('#\\\\+#', '!', '\\ \\\\ \\\\\\'); // çıktısı: '! ! !'
?>
Bir dize verildi:
<?php
$str = 'a\\b c\\d e\\f';
?>
Bu dizide harf, ters eğik çizgi, harf kalıbına uyan tüm alt dizileri bulun.
Bir dize verildi:
<?php
$str = 'a\\b c\\\\d e\\\\\\f';
?>
Bu dizide harf, herhangi bir sayıda ters eğik çizgi, harf kalıbına uyan tüm alt dizileri bulun.