• 26-10-2020, 15:36:56
    #1
    Php formdan gönderilen mesajlara ( www, http, com, net) gibi link eklemenirse mesajdan bunları temizleyip veritabanına kayıt etsin, böyle birşey nasıl yapılır.
    Şimdiden çok teşekkür ederim.

      <form > <textarea type="text" name="message" id="sitemesaj" class="single-textarea" ></textarea>
    <button role="button" type="submit" > Yayınla</button>
    </form>
  • 26-10-2020, 15:37:45
    #2
    ahsullda adlı üyeden alıntı: mesajı görüntüle
    Php formdan gönderilen mesajlara ( www, http, com, net) gibi link eklemenirse mesajdan bunları temizleyip veritabanına kayıt etsin, böyle birşey nasıl yapılır.
    Şimdiden çok teşekkür ederim.

      <form > <textarea type="text" name="message" id="sitemesaj" class="single-textarea" ></textarea>
    <button role="button" type="submit" > Yayınla</button>
    </form>
    Takip
  • 26-10-2020, 15:38:37
    #3
    Regex ile yapabilirsiniz.
    https://www.w3schools.com/php/php_regex.asp
  • 26-10-2020, 15:40:51
    #4
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
        <title></title>
    </head>
    <body>
     
    /* Formumuzu Oluşturalım */
     
    <form action="" method="post">
        Kelime Giriniz:  <input type="text" name="kelime" /><br>
        <input type="submit" value="Gönder" name="kelimeGonder" />
    </form>
    /* Formumuzu oluşturduk şimdi ise  düzenleme fonksiyonumuzu formumuzun hemen altına yazabiliriz. */
     
    <?php 
    if(isset($_POST["kelime"]))
    // Gelen kelimeyi düzenlemek için bir fonksiyon yazıyoruz.
        function duzenle() {
            // Sansürlü olarak gösterilmesini istediğimiz kelimeleri  $gkelime adlı değişkene atadık .
        $gkelime    =    array("aptal","salak","mal","gerizekalı");
           // $dkelime adlı değişkende ise sansürlenecek olan kelimelerin nasıl gösterileceğini ayarladık.
        $dkelime    =    array("***","***","***","***");
        // $ykelime adlı değişkende ise str_replace fonksiyonumuz ile $gkelime adlı değişkendeki kelimeleri $dkelime değişkeniyle  değiştirdik, ve $ykelime adlı değişkende son halini aldık.
     
            $ykelime    =    str_replace($gkelime,$dkelime,$_POST["kelime"]);
          // her seferinde $ykelime değişkenine dönmesini sağladık.
        return $ykelime;
        }
         // Bu kısımda ise duzenle() fonksiyonu içinde ekrana yazdırma işlemini yaptık.
        echo duzenle($_POST["kelime"]);
    ?>
     
    </body>
    </html>

    Kaynak:http://www.ugurturkmen.net/php-ile-k...nsurleme.html/
  • 26-10-2020, 15:41:03
    #5
    $phrase = "You should eat fruits, vegetables, and fiber every day.";
    $healthy = array("fruits", "vegetables", "fiber");
    $yummy = array("pizza", "beer", "ice cream");

    $newphrase = str_replace($healthy, $yummy, $phrase);

    bundan yola çıkarak

    $healthy = array("www", "http", "net");
    $yummy = array("", "", "");

    $newphrase = str_replace($healthy, $yummy, $POST['message']);

    Not: bu yalnızca kelimeleri siler.nokta virgül vs. karakterler içinde kalır.
  • 26-10-2020, 15:44:27
    #6
    regex ile de yapılabilir, str_replace ile de yapılabilir.
    str_replace örneği;

    <?php
    $gelen_mesaj = 'Lorem ipsum dolor sit amet, consectetur [B]https://example.com[/B] adipiscing elit, sed do www.example.net eiusmod tempor incididunt ut labore et dolore magna aliqua.';
    $temiz_mesaj = str_replace(array('http://','https://','com','net','www'),array('','','','',''),$gelen_mesaj);
    ?>
    burada sadece o kelimeleri temizlersiniz. regex ile 'x' ile başlayıp 'y' ile biten ve arada olanları da silebiliyorsunuz.
  • 26-10-2020, 15:48:47
    #7
    Tam olarak nereye konulacak

    ebasit adlı üyeden alıntı: mesajı görüntüle
    regex ile de yapılabilir, str_replace ile de yapılabilir.
    str_replace örneği;

    <?php
    $gelen_mesaj = 'Lorem ipsum dolor sit amet, consectetur [B]https://example.com[/B] adipiscing elit, sed do www.example.net eiusmod tempor incididunt ut labore et dolore magna aliqua.';
    $temiz_mesaj = str_replace(array('http://','https://','com','net','www'),array('','','','',''),$gelen_mesaj);
    ?>
    burada sadece o kelimeleri temizlersiniz. regex ile 'x' ile başlayıp 'y' ile biten ve arada olanları da silebiliyorsunuz.
  • 26-10-2020, 15:50:27
    #8
    ahsullda adlı üyeden alıntı: mesajı görüntüle
    Tam olarak nereye konulacak
    formunuzun kodları neredeyse oraya, wordpress gibi hazır sistem kullanıyorsanız form sihirbazı içerisindeki ayarlara bakabilirsiniz. wordpress gibi hazır sistemde kullandığınız plugin için kodları ekleyebileceğiniz bir kısım yoktur ekleyemezsiniz
  • 26-10-2020, 16:05:01
    #9
    ebasit adlı üyeden alıntı: mesajı görüntüle
    formunuzun kodları neredeyse oraya, wordpress gibi hazır sistem kullanıyorsanız form sihirbazı içerisindeki ayarlara bakabilirsiniz. wordpress gibi hazır sistemde kullandığınız plugin için kodları ekleyebileceğiniz bir kısım yoktur ekleyemezsiniz
    Php site wordpress değil
    formun altınamı üstünemi neresine ekleyeceğim.