if you set right locale:
setlocale(LC_CTYPE,"ru_RU.KOI8-R");
print sql_regcase("Цffnung");
will output:
"[Цц][Ff][Ff][Nn][Uu][Nn][Gg]"
sql_regcase
(PHP 4, PHP 5)
sql_regcase — Harf büyüklüğüne duyarsız eşleşme için düzenli ifade oluşturur
Açıklama
$dizge
)Harf büyüklüğüne duyarsız eşleşme için düzenli ifade oluşturur.
Evrenkod uyumsuzluğu nedeniyle bu işlevin kullanımı PHP 5.3.0'dan beri ÖNERİLMEMEKTEDİR.
Değiştirgeler
-
dizge -
Girdi dizgesi.
Dönen Değerler
dizge ile harf büyüklüğüne duyarsız olarak eşleşecek
bir düzenli ifade döndürür. Bu ifade, dizge
dizgesinin her harfinin bir köşeli ayraç ifadesine dönüştürülmesiyle elde
edilir; bu köşeli ayraç ifadesi karakterin büyük ve küçük harflerini içerir.
Harf olmayan karakterler oldukları gibi bırakılırlar.
Örnekler
Örnek 1 - sql_regcase() örneği
<?php
echo sql_regcase("Foo - bar.");
?>
Yukarıdaki örneğin çıktısı:
[Ff][Oo][Oo] - [Bb][Aa][Rr].
Sadece harf büyüklüğüne duyarlı düzenli ifadelerin desteklendiği durumlarda harf büyüklüğüne duyarsız eşleşmeleri kullanmak için yararlıdır.
Notlar
Bilginize:
PHP 5.3.0 ve sonrasında regex eklentisinin kullanımı artık önerilmemekte olup yerine PCRE eklentisinin kullanılması önerilmekte ve bu işleve yapılan çağrılar bu nedenle bir
E_DEPRECATEDuyarısı çıktılamaktadır.PCRE'ye dönüşümü kolaylaştırmak için fark listesine bakınız.
<?php
function mb_sql_regcase($string,$encoding=\\\'auto\\\'){
$max=mb_strlen($item,$encoding);
for ($i = 0; $i < $max; $i++) {
$char=mb_substr($item,$i,1,$encoding);
$up=mb_strtoupper ($char,$encoding);
$low=mb_strtolower($char,$encoding);
$ret.=($up!=$low)?\\\'[\\\'.$up.$low.\\\']\\\' : $char;
}
return $ret;
}
?>
