PHP’de seo uyumlu seo kankası urller resim adları oluşturmak isteyebilirsiniz işte bunun için yazılmış bir fonksiyon
Fonksiyonu Bir Değişkene Atayarak Kullanmak:
$transliterate = function($string, $separator = '-') { $_transliteration = ["/ö|œ/" => "o", "/ü/" => "u", "/Ä/" => "A", "/Ü/" => "U", "/Ö/" => "O", "/À|Á|Â|Ã|Å|Ǻ|Ā|Ă|Ą|Ǎ/" => "A", "/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/" => "a", "/Ç|Ć|Ĉ|Ċ|Č/" => "C", "/ç|ć|ĉ|ċ|č/" => "c", "/Ð|Ď|Đ/" => "D", "/ð|ď|đ/" => "d", "/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/" => "E", "/è|é|ê|ë|ē|ĕ|ė|ę|ě/" => "e", "/Ĝ|Ğ|Ġ|Ģ/" => "G", "/ĝ|ğ|ġ|ģ/" => "g", "/Ĥ|Ħ/" => "H", "/ĥ|ħ/" => "h", "/Ì|Í|Î|Ï|Ĩ|Ī| Ĭ|Ǐ|Į|İ/" => "I", "/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı/" => "i", "/Ĵ/" => "J", "/ĵ/" => "j", "/Ķ/" => "K", "/ķ/" => "k", "/Ĺ|Ļ|Ľ|Ŀ|Ł/" => "L", "/ĺ|ļ|ľ|ŀ|ł/" => "l", "/Ñ|Ń|Ņ|Ň/" => "N", "/ñ|ń|ņ|ň|ʼn/" => "n", "/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ/" => "O", "/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º/" => "o", "/Ŕ|Ŗ|Ř/" => "R", "/ŕ|ŗ|ř/" => "r", "/Ś|Ŝ|Ş|Ș|Š/" => "S", "/ś|ŝ|ş|ș|š|ſ/" => "s", "/Ţ|Ț|Ť|Ŧ/" => "T", "/ţ|ț|ť|ŧ/" => "t", "/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/" => "U", "/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/" => "u", "/Ý|Ÿ|Ŷ/" => "Y", "/ý|ÿ|ŷ/" => "y", "/Ŵ/" => "W", "/ŵ/" => "w", "/Ź|Ż|Ž/" => "Z", "/ź|ż|ž/" => "z", "/Æ|Ǽ/" => "E", "/ß/" => "s", "/IJ/" => "J", "/ij/" => "j", "/Œ/" => "E", "/ƒ/" => ""]; $quotedReplacement = preg_quote($separator, '/'); $merge = [ '/[^\s\p{Zs}\p{Ll}\p{Lm}\p{Lo}\p{Lt}\p{Lu}\p{Nd}]/mu' => ' ', '/[\s\p{Zs}]+/mu' => $separator, sprintf('/^[%s]+|[%s]+$/', $quotedReplacement, $quotedReplacement) => '', ]; $map = $_transliteration + $merge; unset($_transliteration); return preg_replace(array_keys($map), array_values($map), $string); }; // Kullanım örneği $string = "Äpfel Über Öl und Übel!"; $result = $transliterate($string); echo $result; // Apfel-Uber-Ol-und-Ubel
Fonksiyonu Bir Sınıf İçinde Tanımlayarak Kullanmak
class Transliterator { public static function transliterate($string, $separator = '-') { $_transliteration = ["/ö|œ/" => "o", "/ü/" => "u", "/Ä/" => "A", "/Ü/" => "U", "/Ö/" => "O", "/À|Á|Â|Ã|Å|Ǻ|Ā|Ă|Ą|Ǎ/" => "A", "/à|á|â|ã|å|ǻ|ā|ă|ą|ǎ|ª/" => "a", "/Ç|Ć|Ĉ|Ċ|Č/" => "C", "/ç|ć|ĉ|ċ|č/" => "c", "/Ð|Ď|Đ/" => "D", "/ð|ď|đ/" => "d", "/È|É|Ê|Ë|Ē|Ĕ|Ė|Ę|Ě/" => "E", "/è|é|ê|ë|ē|ĕ|ė|ę|ě/" => "e", "/Ĝ|Ğ|Ġ|Ģ/" => "G", "/ĝ|ğ|ġ|ģ/" => "g", "/Ĥ|Ħ/" => "H", "/ĥ|ħ/" => "h", "/Ì|Í|Î|Ï|Ĩ|Ī| Ĭ|Ǐ|Į|İ/" => "I", "/ì|í|î|ï|ĩ|ī|ĭ|ǐ|į|ı/" => "i", "/Ĵ/" => "J", "/ĵ/" => "j", "/Ķ/" => "K", "/ķ/" => "k", "/Ĺ|Ļ|Ľ|Ŀ|Ł/" => "L", "/ĺ|ļ|ľ|ŀ|ł/" => "l", "/Ñ|Ń|Ņ|Ň/" => "N", "/ñ|ń|ņ|ň|ʼn/" => "n", "/Ò|Ó|Ô|Õ|Ō|Ŏ|Ǒ|Ő|Ơ|Ø|Ǿ/" => "O", "/ò|ó|ô|õ|ō|ŏ|ǒ|ő|ơ|ø|ǿ|º/" => "o", "/Ŕ|Ŗ|Ř/" => "R", "/ŕ|ŗ|ř/" => "r", "/Ś|Ŝ|Ş|Ș|Š/" => "S", "/ś|ŝ|ş|ș|š|ſ/" => "s", "/Ţ|Ț|Ť|Ŧ/" => "T", "/ţ|ț|ť|ŧ/" => "t", "/Ù|Ú|Û|Ũ|Ū|Ŭ|Ů|Ű|Ų|Ư|Ǔ|Ǖ|Ǘ|Ǚ|Ǜ/" => "U", "/ù|ú|û|ũ|ū|ŭ|ů|ű|ų|ư|ǔ|ǖ|ǘ|ǚ|ǜ/" => "u", "/Ý|Ÿ|Ŷ/" => "Y", "/ý|ÿ|ŷ/" => "y", "/Ŵ/" => "W", "/ŵ/" => "w", "/Ź|Ż|Ž/" => "Z", "/ź|ż|ž/" => "z", "/Æ|Ǽ/" => "E", "/ß/" => "s", "/IJ/" => "J", "/ij/" => "j", "/Œ/" => "E", "/ƒ/" => ""]; $quotedReplacement = preg_quote($separator, '/'); $merge = [ '/[^\s\p{Zs}\p{Ll}\p{Lm}\p{Lo}\p{Lt}\p{Lu}\p{Nd}]/mu' => ' ', '/[\s\p{Zs}]+/mu' => $separator, sprintf('/^[%s]+|[%s]+$/', $quotedReplacement, $quotedReplacement) => '', ]; $map = $_transliteration + $merge; unset($_transliteration); return preg_replace(array_keys($map),
Örnek Başlık: Keramet Sosunda: Fırın Poşetinde Çipura Tarifi Çıktı Başlık: Keramet-Sosunda-Firin-Posetinde-Cipura-Tarifi