• 27-03-2010, 13:42:04
    #1
    Üyeliği durduruldu
    Merhabalar,

    PHP'de yazılara otomatik link vermek istiyorum. Sözgelimi,

    Alıntı
    1. Halk arasında sayılan ve sözü geçen erkeklere verilen san. 2. Büyük kardeş, ağabey.
    Buradaki sözcükler veritabanında var ise otomatik link versin. Örneğin "ağabey" sözcüğünün var olduğunu düşünelim.

    <a href="agabey.html">ağabey</a>

    Saygılarımla;
    Samet ARAS.
  • 27-03-2010, 14:05:32
    #2
    bu tarz bişey mi istiyorsun

    $aranan=$_POST[aranan];
    $sonuc="<a href='.$aranan.'.html>'.$aranan.'</a><br>";
    $topla =mysql_query("select * from veriler where aranan=$aranan");
    echo $sonuc;
    echo $topla[aranan];
  • 27-03-2010, 14:54:21
    #3
    olayı biraz javascript ve ajax ile desteklemek istersen, kısaca genel olarak neler yapabileceğinden bahsedeyim ;
    1- kelimeler.php sayfasında tüm kelimeleri gerekli işlemlerden geçirdikten sonra virgül ile ayırarak ekrana yazdır (ali,ağbey,bilgisayar,programlama) gibi.
    2- jQuery v.b. kütüphaneler aracılığıyla bu linkleri vermek istediğiniz sayfalara ajax ile gelen kelimeleri çeken bir fonksiyon yazıp, kelimeleri split methodunu kullanarak bir javascript dizi değişkenine attıktan sonra basit bir for döngüsü ile ekrandaki örneğin <div id="icerik"></div> icerik id li div içindeki "bilgisayar" kelimesini "<a href='bilgisayar.html'>bilgisayar</a>" ile replace edebiliriz.

    bana göre bu şekilde bir uygulama serverın yükünü biraz daha azaltıp, client e yükler ve çok uğraştırmayan bir uygulama olur.

    umarım anlatabilmişimdir :/
  • 27-03-2010, 15:18:16
    #4
    Üyeliği durduruldu
    inşallah Doğru Anlamışımdırda doğru yapmışımdır.
    <?php
     $metin="1. Halk arasında sayılan ve sözü geçen erkeklere verilen san. 2. Büyük kardeş, ağabey.";
     $aranacak="ağabey,Büyük,erkeklere";
    function seo($str){
            $str=str_replace("Ş","S",$str);
            $str=str_replace("ş","s",$str);
            $str=str_replace("Ş","s",$str);
            $str=str_replace("Ç","C",$str);
            $str=str_replace("ç","c",$str);
            $str=str_replace("Ö","O",$str);
            $str=str_replace("ö","o",$str);
            $str=str_replace("Ğ","G",$str);
            $str=str_replace("ğ","g",$str);
            $str=str_replace("Ü","U",$str);
            $str=str_replace("ü","u",$str);
            $str=str_replace("ı","i",$str);
            $str=str_replace("İ","i",$str);
            $str=preg_replace("/[^A-Za-z0-9\s]/"," ",$str);
            $str=str_replace(" ","-",trim($str));
            $str=preg_replace('/([-]+)/','-',$str);
            $str=strtolower($str);
            return $str;
        }
      
      function linkver($aranacak,$metin){
          $parcala=explode(",",$aranacak);
          $i=0;
          foreach($parcala as $yaz){
              $metin=str_replace($yaz,"<a href='".seo($yaz).".html'>".$yaz."</a>",$metin);
          }
          echo $metin;
      }
      
      
     echo linkver($aranacak,$metin); 
      
    ?>
    Kodun Çıktısı

    1. Halk arasında sayılan ve sözü geçen <a href='erkeklere.html'>erkeklere</a> verilen san. 2. <a href='buyuk.html'>Büyük</a> kardeş, <a href='agabey.html'>ağabey</a>.
  • 27-03-2010, 16:44:35
    #5
    Üyeliği durduruldu
    daha kısasını yazalım diğer arayan arkadaşlarada lazım onu.
    hızlı yazdım tırnakları kontrol edersin

    $ara = array("cep telefonu", "nokia", "Oğuz KOÇ");
    $icerik ="Oğuz KOÇ cep telefonu olarak nokia kullanıyor";
    
    foreach($ara as $arax){
    	if(stristr($icerik, $arax)){
    		$icerik = str_replace($arax, "<a href=\"".$arax."\">".$arax."</a>", $icerik);
    	}
  • 27-03-2010, 18:58:34
    #6
    Üyeliği durduruldu
    BHCoder adlı üyeden alıntı: mesajı görüntüle
    daha kısasını yazalım diğer arayan arkadaşlarada lazım onu.
    hızlı yazdım tırnakları kontrol edersin

    $ara = array("cep telefonu", "nokia", "Oğuz KOÇ");
    $icerik ="Oğuz KOÇ cep telefonu olarak nokia kullanıyor";
    
    foreach($ara as $arax){
    	if(stristr($icerik, $arax)){
    		$icerik = str_replace($arax, "<a href=\"".$arax."\">".$arax."</a>", $icerik);
    	}
    BHCODER bu kod kısada
    söyle bişey var 1 linklerinde türkçe karakter olcagı için linklerin bazıları çalışmıcak 2 bu arkadaş buna ihtiyaç duydugunda bu kodları tekrar tekrar yazmak zorunda kalıcak
    ayrıca stristr güzel fonksiyonmuş eline sağlık
  • 27-03-2010, 19:05:26
    #7
    Üyeliği durduruldu
    tekrar yazmasına gerek yok fonksiyon oluşturup o şekilde kullanabilir. türkçe karakter temizlemeyi yazmadım çünkü en azından biliyordun dedim
    TurkishDizayn senin kodda güzel
    alternatif çok istediğini seçsin kullansın
  • 27-03-2010, 19:35:15
    #8
    Üyeliği durduruldu
    Merhabalar,

    Sağolun arkadaşlar, müteşekkir oldum. BHCODER ve TurkishDizayn, verdiğiniz kodları denedim. Tam da BHCODER'in yazdığı gibi bir kod aramakta idim, ellerine sağlık

    Saygılarımla;
    Samet ARAS.
  • 27-03-2010, 19:51:30
    #9
    Üyeliği durduruldu
    Merhabalar,

    Bir şey soracağım. Aşağıdaki kodu tek içerikte kullanıyorum, gayet başarılı. Lakin çoklu içerikte nasıl uygulayabilirim ?

    $ara = array("cep telefonu", "nokia", "Oğuz KOÇ");
    $icerik = array("İçerik 1", "İçerik 2", "İçerik 3")
    $ara = array("cep telefonu", "nokia", "Oğuz KOÇ");
    $icerik ="Oğuz KOÇ cep telefonu olarak nokia kullanıyor";
    
    foreach($ara as $arax){
        if(stristr($icerik, $arax)){
            $icerik = str_replace($arax, "<a href=\"".$arax."\">".$arax."</a>", $icerik);
        }
    Saygılarımla;
    Samet ARAS.