Merhaba arkadaşlar, Bu gün sizinle paylaşacağım
Php Sef URL Fonksiyonu
Türkçe karakter sorunu yaşamadan sef url oluşturmada bu fonksiyonu kullanabilirsiniz. Bu sitenizin seo çalışmalarında büyük bir etki sağlayacaktır.
function sef_url ( $url ) {<br />$turkcefrom = array("/Ğ/","/Ü/","/Ş/","/İ/","/Ö/","/Ç/","/ğ/","/ü/","/ş/","/ı/","/ö/","/ç/");<br />$turkceto = array("G","U","S","I","O","C","g","u","s","i","o","c");<br />$url = preg_replace("/[^0-9a-zA-ZÄzÜŞİÖÇğüşıöç]/"," ",$url);<br />// Türkçe harfleri ingilizceye çevir<br />$url = preg_replace($turkcefrom,$turkceto,$url);<br />// Birden fazla olan boşlukları tek boşluk yap<br />$url = preg_replace("/ +/"," ",$url);<br />// Boşukları - işaretine çevir<br />$url = preg_replace("/ /","-",$url);<br />// Tüm beyaz karekterleri sil<br />$url = preg_replace("/\s/","",$url);<br />// Karekterleri küçült<br />$url = strtolower($url);<br />// Başta ve sonda - işareti kaldıysa yoket<br />$url = preg_replace("/^-/","",$url);<br />$url = preg_replace("/-$/","",$url);<br />return $url;<br />}
Arkadaşlar 2 Adet Fonksiyon Paylaşıyorum Hangisini Kullanmak İsterseniz Onu Kullanınız.
/**<br />* @param $str<br />* @param array $options<br />* @return string<br />*/<br />function permalink($str, $options = array())<br />{<br />$str = mb_convert_encoding((string)$str, 'UTF-8', mb_list_encodings());<br />$defaults = array(<br />'delimiter' => '-',<br />'limit' => null,<br />'lowercase' => true,<br />'replacements' => array(),<br />'transliterate' => true<br />);<br />$options = array_merge($defaults, $options);<br />$char_map = array(<br />// Latin<br />'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'AE', 'Ç' => 'C',<br />'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I',<br />'Ð' => 'D', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ő' => 'O',<br />'Ø' => 'O', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U', 'Ű' => 'U', 'Ý' => 'Y', 'Þ' => 'TH',<br />'ß' => 'ss',<br />'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'ae', 'ç' => 'c',<br />'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i',<br />'ð' => 'd', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ő' => 'o',<br />'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ü' => 'u', 'ű' => 'u', 'ý' => 'y', 'þ' => 'th',<br />'ÿ' => 'y',<br />// Latin symbols<br />'©' => '(c)',<br />// Greek<br />'Α' => 'A', 'Β' => 'B', 'Γ' => 'G', 'Δ' => 'D', 'Ε' => 'E', 'Ζ' => 'Z', 'Η' => 'H', 'Θ' => '8',<br />'Ι' => 'I', 'Κ' => 'K', 'Λ' => 'L', 'Μ' => 'M', 'Ν' => 'N', 'Ξ' => '3', 'Ο' => 'O', 'Π' => 'P',<br />'Ρ' => 'R', 'Σ' => 'S', 'Τ' => 'T', 'Υ' => 'Y', 'Φ' => 'F', 'Χ' => 'X', 'Ψ' => 'PS', 'Ω' => 'W',<br />'Ά' => 'A', 'Έ' => 'E', 'Ί' => 'I', 'Ό' => 'O', 'Ύ' => 'Y', 'Ή' => 'H', 'Ώ' => 'W', 'Ϊ' => 'I',<br />'Ϋ' => 'Y',<br />'α' => 'a', 'β' => 'b', 'γ' => 'g', 'δ' => 'd', 'ε' => 'e', 'ζ' => 'z', 'η' => 'h', 'θ' => '8',<br />'ι' => 'i', 'κ' => 'k', 'λ' => 'l', 'μ' => 'm', 'ν' => 'n', 'ξ' => '3', 'ο' => 'o', 'π' => 'p',<br />'ρ' => 'r', 'σ' => 's', 'τ' => 't', 'υ' => 'y', 'φ' => 'f', 'χ' => 'x', 'ψ' => 'ps', 'ω' => 'w',<br />'ά' => 'a', 'έ' => 'e', 'ί' => 'i', 'ό' => 'o', 'ύ' => 'y', 'ή' => 'h', 'ώ' => 'w', 'ς' => 's',<br />'ϊ' => 'i', 'ΰ' => 'y', 'ϋ' => 'y', 'ΐ' => 'i',<br />// Turkish<br />'Ş' => 'S', 'İ' => 'I', 'Ç' => 'C', 'Ü' => 'U', 'Ö' => 'O', 'Ğ' => 'G',<br />'ş' => 's', 'ı' => 'i', 'ç' => 'c', 'ü' => 'u', 'ö' => 'o', 'ğ' => 'g',<br />// Russian<br />'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'Yo', 'Ж' => 'Zh',<br />'З' => 'Z', 'И' => 'I', 'Й' => 'J', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N', 'О' => 'O',<br />'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C',<br />'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sh', 'Ъ' => '', 'Ы' => 'Y', 'Ь' => '', 'Э' => 'E', 'Ю' => 'Yu',<br />'Я' => 'Ya',<br />'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'ё' => 'yo', 'ж' => 'zh',<br />'з' => 'z', 'и' => 'i', 'й' => 'j', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o',<br />'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c',<br />'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sh', 'ъ' => '', 'ы' => 'y', 'ь' => '', 'э' => 'e', 'ю' => 'yu',<br />'я' => 'ya',<br />// Ukrainian<br />'Є' => 'Ye', 'І' => 'I', 'Ї' => 'Yi', 'Ґ' => 'G',<br />'є' => 'ye', 'і' => 'i', 'ї' => 'yi', 'ґ' => 'g',<br />// Czech<br />'Č' => 'C', 'Ď' => 'D', 'Ě' => 'E', 'Ň' => 'N', 'Ř' => 'R', 'Š' => 'S', 'Ť' => 'T', 'Ů' => 'U',<br />'Ž' => 'Z',<br />'č' => 'c', 'ď' => 'd', 'ě' => 'e', 'ň' => 'n', 'ř' => 'r', 'š' => 's', 'ť' => 't', 'ů' => 'u',<br />'ž' => 'z',<br />// Polish<br />'Ą' => 'A', 'Ć' => 'C', 'Ę' => 'e', 'Ł' => 'L', 'Ń' => 'N', 'Ó' => 'o', 'Ś' => 'S', 'Ź' => 'Z',<br />'Ż' => 'Z',<br />'ą' => 'a', 'ć' => 'c', 'ę' => 'e', 'ł' => 'l', 'ń' => 'n', 'ó' => 'o', 'ś' => 's', 'ź' => 'z',<br />'ż' => 'z',<br />// Latvian<br />'Ā' => 'A', 'Č' => 'C', 'Ē' => 'E', 'Ģ' => 'G', 'Ī' => 'i', 'Ķ' => 'k', 'Ļ' => 'L', 'Ņ' => 'N',<br />'Š' => 'S', 'Ū' => 'u', 'Ž' => 'Z',<br />'ā' => 'a', 'č' => 'c', 'ē' => 'e', 'ģ' => 'g', 'ī' => 'i', 'ķ' => 'k', 'ļ' => 'l', 'ņ' => 'n',<br />'š' => 's', 'ū' => 'u', 'ž' => 'z'<br />);<br />$str = preg_replace(array_keys($options['replacements']), $options['replacements'], $str);<br />if ($options['transliterate']) {<br />$str = str_replace(array_keys($char_map), $char_map, $str);<br />}<br />$str = preg_replace('/[^\p{L}\p{Nd}]+/u', $options['delimiter'], $str);<br />$str = preg_replace('/(' . preg_quote($options['delimiter'], '/') . '){2,}/', '$1', $str);<br />$str = mb_substr($str, 0, ($options['limit'] ? $options['limit'] : mb_strlen($str, 'UTF-8')), 'UTF-8');<br />$str = trim($str, $options['delimiter']);<br />return $options['lowercase'] ? mb_strtolower($str, 'UTF-8') : $str;<br />}<br />// Kullanımı<br />$deger = "Bu Türkçe Bir Yazıdır";<br />echo permalink($deger);<br />$deger = "Συχνές Ερωτήσεις";<br />echo permalink($deger);
İyi Çalışmalar..
Paylaşım için elinize sağlık;
Ama sorunu bir türlü çözemedim. Yukarıda verdiğiniz kodları nereye ekleme yapacağız? Biraz daha aydınlatıcı bilgi verirseniz memnun olurum.
Benim sitenin sorunu siteyi yeni bir sunucuya taşıdım, daha önce konulara ait linklerde herhangi bir sorun yoktu ama taşıma sonrası linklerde Türkçe karakterler ortaya çıktı bu sorunu nasıl çözebilirim?
Taşıma öncesi linkler: …/araba-agaci-sis-gibi-ezdi.html
Taşıma sonrası linkler böyle oldu: …/araba-ağacı-şiş-gibi-ezdi.html