Arkadaşlar merhaba,
Sitemde bir şarkı sözleri scritpt'i kullanıyorum. Fakat slug yapısında başlığa Türkçe karakterler girildiğinde slug yapısında bu karakterler silik halde çıkıyor.
Örneğin başlığa "Bir Dost Bulamadım" yazdığımda slug da"bir-dost-bulamadm" şeklinde görüntüleniyor.
function dosyasında şu bölümü buldum.
function create_slug($value){
$value = preg_replace("/@/", ' at ', $value);
$value = preg_replace("/£/", ' pound ', $value);
$value = preg_replace("/#/", ' hash ', $value);
$value = preg_replace("/[\-+]/", ' ', $value);
$value = preg_replace("/[\s+]/", ' ', $value);
$value = preg_replace("/[\.+]/", '', $value);
$value = preg_replace("/[^A-Za-z0-9\.\s]/", '', $value);
$value = preg_replace("/[\s]/", '-', $value);
$value = preg_replace("/\-\-+/", '-', $value);
$value = strtolower($value);
if (substr($value, -1) == "-")
{
$value = substr($value, 0, -1);
}
if (substr($value, 0, 1) == "-")
{
$value = substr($value, 1);
}
return $value;
}Buraya Türkçe karakterleri tanımlamak mı gerekiyor. PHP konusunda sıfırım. Yardım lütfen.
--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 22:38:22 -->-> Daha önceki mesaj 21:36:19 --
Koda şu kodları ekledim.
function create_slug($value){
$tr = array('ş','Ş','ı','I','İ','ğ','Ğ','ü','Ü','ö','Ö', 'Ç','ç','(',')','/',':',',');
$eng = array('s','s','i','i','i','g','g','u','u','o','o', 'c','c','','','-','-','');
$value = str_replace($tr,$eng,$value);bu hale geldi
function create_slug($value){
$tr = array('ş','Ş','ı','I','İ','ğ','Ğ','ü','Ü','ö','Ö', 'Ç','ç','(',')','/',':',',');
$eng = array('s','s','i','i','i','g','g','u','u','o','o', 'c','c','','','-','-','');
$value = str_replace($tr,$eng,$value);
$value = preg_replace("/@/", ' at ', $value);
$value = preg_replace("/£/", ' pound ', $value);
$value = preg_replace("/#/", ' hash ', $value);
$value = preg_replace("/[\-+]/", ' ', $value);
$value = preg_replace("/[\s+]/", ' ', $value);
$value = preg_replace("/[\.+]/", '', $value);
$value = preg_replace("/[^A-Za-z0-9\.\s]/", '', $value);
$value = preg_replace("/[\s]/", '-', $value);
$value = preg_replace("/\-\-+/", '-', $value);
$value = strtolower($value);
if (substr($value, -1) == "-")
{
$value = substr($value, 0, -1);
}
if (substr($value, 0, 1) == "-")
{
$value = substr($value, 1);
}
return $value;
}fakat Ş,ş,I,ı,Ğ,ğ kelimelerinde dönüşüm sağlanmıyor. Bu harfler slug da yine siliniyor.