merhaba
function seo($s) {
$tr = array('ş','Ş','ı','I','İ','ğ','Ğ','ü','Ü','ö','Ö','Ç','ç','(',')','/',':',',',"'");
$eng = array('s','s','i','i','i','g','g','u','u','o','o','c','c','','','-','-','',"");
$s = str_replace($tr,$eng,$s);
$s = strtolower($s);
$s = preg_replace('/&.+?;/', '', $s);
$s = preg_replace('/\s+/', '-', $s);
$s = preg_replace('|-+|', '-', $s);
$s = preg_replace('/#/', '', $s);
$s = str_replace('.', '', $s);
$s = trim($s, '-');
return $s;
}
function fix($matches){
return '<a href="http://site.com/'.seo($matches[1]).'">'.$matches[1].'</a>';
}
function convert_to_links($content) {
$content = preg_replace_callback('%\* ?(.*?) ?\*%', 'fix', $content);
return $content;
}seo fonksiyonunda gerekliyse düzeltme yaparsınız.mantığı anlamanız için o kısmı copypaste yaptım. preg_replace yerine _callback kullandık.
kolaylıklar.
Aşağıdaki mevcut kot içerikteki yıldızlı kelime içindekileri alıp istediğim formatta linke dönüştürüyor.
Örnek: *Aşk İçin*
Çıktı: <a herf="http://site.com/
Aşk için">Aşk İçin</a>
<?php
function convert_to_links($content) {
$content = preg_replace('%\* ?(.*?) ?\*%', '<a href="http://site.com/$1">$1</a>', $content);
return $content;
}
add_filter('the_content', 'convert_to_links');
?>benim istediğim aynı zamanda çekilen metni sadece link kısmında ingilizce karaktere çevirmek.
örnek çıktı: <a herf="http://site.com/
ask-icin">Aşk İçin</a>
Türkçe karakter dönüşümü için str_replace kullanılıyor ama bir türlü halledemedim, yardımcı olur musunuz.