• 28-03-2016, 11:00:37
    #1
    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.
  • 29-03-2016, 00:35:28
    #2
    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('/&amp;amp;amp;amp;amp;amp;amp;amp;amp;.+?;/', '', $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.

    MusLumcu adlı üyeden alıntı: mesajı görüntüle
    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.