koddla

Yazılımcıları bilgi ile güçlendirir.

PHP addslashes() Fonksiyonu

Bu yazıda addslashes() fonksiyonunun ne işe yaradığını, nasıl çalıştığını ve kendi kodunuzda nasıl kullanabileceğinizi daha yakından inceleyeceğiz. Ayrıca addslashes() fonksiyonu için bazı yaygın kullanım durumlarının üzerinden geçecek ve benzer fonksiyonlarla karşılaştıracağız. addslashes() fonksiyonunun ne yaptığını ve nasıl çalıştığını açık bir şekilde anlatarak başlayacağız. Ardından, bu fonksiyonu kodunuzda nasıl kullanacağınızı 5-6 örnekle göstereceğiz.

1- addslashes() işlevi ne işe yarar?

PHP’deki addslashes() işlevi bir dizgedeki özel karakterlere ters eğik çizgi eklemek için kullanılır. Bu özel karakterler arasında tek tırnak ('), çift tırnak ("), ters eğik çizgi (\) ve NUL (NULL baytı) bulunur. Bu karakterlere ters eğik çizgi ekleyerek, işlev dizeyi örneğin bir SQL sorgusunda kullanmak için güvenli hale getirir. Ayrıca, belirli bağlamlarda özel bir anlamı olan diğer karakterlerden kaçmak için de kullanılabilir.

2- Fonksiyon nasıl çalışır ve sözdizimi nedir?

addslashes() işlevi PHP’de yerleşik bir işlevdir. Bir parametre alır, bu parametre ters eğik çizgi eklemek istediğiniz dizedir. İşlevin sözdizimi aşağıdaki gibidir:

addslashes(dizge);

Fonksiyon, eklenen ters eğik çizgilerle birlikte değiştirilmiş dizeyi döndürür.

3- Örneklerle addslashes() fonksiyonunun kullanımı

Kodunuzda addslashes() fonksiyonunu nasıl kullanabileceğinize dair birkaç örneğe bakalım

Kodu kopyala// Örnek 1: Tek tırnak işaretlerinden kaçma
$str = "Ben bir' dizeyim";
$escaped_str = addslashes($str);
echo $escaped_str; // Çıktı: Ben bir\' dizeyim

// Örnek 2: Çift tırnaktan kaçış
$str = 'O "merhaba" dedi';
$escaped_str = addslashes($str);
echo $escaped_str; // Çıktı: O \"merhaba\" dedi

// Örnek 3: Ters eğik çizgilerden kaçma
$str = 'C:\Windows\System32';
$escaped_str = addslashes($str);
echo $escaped_str; // Çıktı: C:\\Windows\\System32

4- addslashes() işlevi için yaygın kullanım durumları nelerdir?

addslashes() işlevi genellikle bir SQL sorgusunda kullanılmadan önce bir dizenin karakterden arındırılması gereken durumlarda kullanılır. Bunun nedeni, tek tırnak ve çift tırnak gibi belirli karakterlerin SQL’de özel anlamlara sahip olması ve uygun şekilde kaçılmadıkları takdirde hatalara neden olabilmeleridir. Ayrıca, addslashes() fonksiyonu, belirli bağlamlarda özel bir anlamı olan diğer karakterlerden kaçmak için de kullanılabilir.

5- Bu fonksiyona benzer başka fonksiyonlar var mı?

PHP’de bir dizgedeki özel karakterlerden kaçmak için kullanılabilecek birkaç işlev daha vardır. Bunlar mysql_real_escape_string(), pg_escape_string() ve sqlite_escape_string()‘dir. Bu fonksiyonlar addslashes() fonksiyonuna benzer, çünkü hepsi bir dizedeki belirli karakterlere ters eğik çizgi ekler, ancak her biri belirli bir veritabanı sistemine özgüdür. addslashes() ile bu diğer fonksiyonlar arasındaki önemli bir fark, addslashes() fonksiyonunun belirli bir veritabanı sistemine özgü olmaması ve herhangi bir amaç için kullanılabilmesidir.

PHP’deki bir diğer benzer işlev addcslashes() işlevidir. Bir dizgedeki özel karakterlere ters eğik çizgi eklemesi bakımından addslashes() işlevine benzer. Ancak, addcslashes() işlevi, işleve ikinci bir parametre sağlayarak hangi karakterlerden kaçmak istediğinizi belirtmenize olanak tanır. Bir dizede yalnızca belirli karakterlerden kaçmak istiyorsanız bu yararlı olabilir.

Örneğin;

$str = "Merhaba Dünya";
$escaped_str = addcslashes($str, "D");
echo $escaped_str; // Çıktı: Merhaba \Dünya

Bir başka fonksiyon da str_replace() olup, bir karakter dizisindeki herhangi bir karakteri başka karakterlerle değiştirmek için kullanılabilir. Bu, belirli karakterlerden kaçmak yerine o karakterleri dizeden kaldırmak istediğinizde yararlı olabilir.

Örneğin;

$str = "Merhaba Dünya";
$new_str = str_replace("ü", "a", $str);
echo $new_str; // Çıktı: Merhaba Danya

Özetle, addslashes(), herhangi bir amaç için bir dizedeki özel karakterlerden kaçmak için kullanılabilecek basit ve kullanımı kolay bir fonksiyondur. addcslashes(), hangi karakterlerden kaçılacağını belirtmenize olanak tanır ve str_replace(), bir dizedeki herhangi bir karakteri değiştirmek için kullanılabilir.

Ayrıca, PHP 8.0’dan itibaren addslashes() işlevinin kullanımdan kaldırıldığını ve bunun yerine karakter kaçışları için addcslashes() veya json_encode() işlevlerinin kullanılmasının önerildiğini de belirtmek gerekir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Back to top