• 16-11-2012, 11:36:41
    #1
    Arkadaşlar selamlar. Benim bir konuda yardıma ihtiyacım var. Şöyleki en basit şekilde anlatmaya çalışacağım. Bir admin panelim var, ben buradan bir sayfa oluşturuyorum ve bu sayfayı yayınlayabiliyorum. Aynı şekilde istediğim taktirde aynı sunucu içerisinde bulunan 20 farklı web sitesinde'de yazıyı tek databeseden çekerek yayınlayabiliyorum. Benim şöyle bir isteğim var ancak yapamadım;

    TinyMCE yazı editorüne eklediğim bir makale veya yazıyı, içindeki benim belirleyeceğim bir şekilde, farklı cümleler içerisinde kullanarak databeseye 15 farklı biçimiyle göndersin; mesela şöyle bir örnek vereyim;

    "R10.net Php sevenler klubü. Kodlama soruları & acil php yardım hattı."

    Bu normal yazı; ben bunun içindeki bazı cümlelere, belirgeçler ile farklı şeyler ekleyeceğim;

    "R10.net Php {sevenler|beğenenler} {klubü|topluluğu}. Kodlama {soruları|problemleri} & {acil|ivedi} php yardım hattı."

    Böyle yaptığımda "R10.net Php sevenler klubü. Kodlama soruları & acil php yardım hattı." buna alternatif olarak cümleler üretecek ve databeseye alternatif olarak benim belirleyeceğim sayıda kaydedecek, bende diğer sayfalarımda çektiğim yazı diğerleri ile aynı olmasın diye, farklı yazılar üreteceğim. Biraz karışık anlatmış olabilirim, kusura bakmayın bu konuda yardımcı olabilirseniz, PM'lerinizi bekliyorum. Teşekkürler.
  • 16-11-2012, 11:42:45
    #2
    Üyeliği durduruldu
    kullanacağın fonksiyon str_replace();

    function Convert($metin){
     $cevrilecekler = array("selam","nasılsın","canım","...");
     $esanlamlilar )= array("merhaba","naber","aşkım","...");
    return $metin = str_replace($cevrilecekler,$esanlamlilar,$metin);
    }
    Kullanım :
    $yazi = "selam arkadaslar nasılsınız ne var ne yok "
    $Sonuc = Convert($yazi);
    
    echo $Sonuc // merhaba arakadaslar naberız ne var ne yok
    işte basitce bunu ister dosyaSistemi kullanarak ister mysql ile işleyip gönderebilirsiniz harmanlayacaktır metni

    ayrıca regular expression Kullanılabilir
  • 16-11-2012, 11:43:22
    #3
    pm gönderdim.
  • 16-11-2012, 13:08:04
    #4
    XYZ
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Şuradaki class işinizi görecektir.

    Class:
    class Spintax {
       
       function spin($str, $test=false)
       {
          if(!$test){
             do {
                $str = $this->regex($str);
             } while ($this->complete($str));
             return $str;
          } else {
             do {
                echo "<b>PROCESS: </b>";var_dump($str = $this->regex($str));echo "<br><br>";
             } while ($this->complete($str));
             return false;
          }
       }
       
       function regex($str)
       {
          preg_match("/{[^{}]+?}/", $str, $match);
          // Now spin the first captured string
          $attack = explode("|", $match[0]);
          $new_str = preg_replace("/[{}]/", "", $attack[rand(0,(count($attack)-1))]);
          $str = str_replace($match[0], $new_str, $str);
          return $str;
       }
       
       function complete($str)
       {
          $complete = preg_match("/{[^{}]+?}/", $str, $match);
          return $complete;
       }
    }
    Örnek kullanım:
    include("spintax.class.php");
    $spintax = new Spintax;
    // Add true to the spin functions to debug and see each line as it is spun in the process
    $spintax->spin("{{Hello|Hi} my name is {Ron|Ronald}|Another random {sentence|{statement|phrase|saying}}}");
  • 16-11-2012, 13:30:28
    #5
    XYZ adlı üyeden alıntı: mesajı görüntüle
    Şuradaki class işinizi görecektir.

    Class:
    class Spintax {
       
       function spin($str, $test=false)
       {
          if(!$test){
             do {
                $str = $this->regex($str);
             } while ($this->complete($str));
             return $str;
          } else {
             do {
                echo "<b>PROCESS: </b>";var_dump($str = $this->regex($str));echo "<br><br>";
             } while ($this->complete($str));
             return false;
          }
       }
       
       function regex($str)
       {
          preg_match("/{[^{}]+?}/", $str, $match);
          // Now spin the first captured string
          $attack = explode("|", $match[0]);
          $new_str = preg_replace("/[{}]/", "", $attack[rand(0,(count($attack)-1))]);
          $str = str_replace($match[0], $new_str, $str);
          return $str;
       }
       
       function complete($str)
       {
          $complete = preg_match("/{[^{}]+?}/", $str, $match);
          return $complete;
       }
    }
    Örnek kullanım:
    include("spintax.class.php");
    $spintax = new Spintax;
    // Add true to the spin functions to debug and see each line as it is spun in the process
    $spintax->spin("{{Hello|Hi} my name is {Ron|Ronald}|Another random {sentence|{statement|phrase|saying}}}");
    Class üzerinden editlenmeye gidilip, belli veya maximum sayıda cümle oluşturmak lazım. Spin rastgele verdiği için, sadece bu class arkadaşın işine yaramayacaktır. Sağlam bir edit gerektiriyor Class üzerinde.
  • 16-11-2012, 18:35:53
    #6
    Yengas ile iş konusunda anlaşıldı. İlginize çok teşekkür ediyorum.