1. Halo Guest, pastikan Anda selalu menaati peraturan forum sebelum mengirimkan post atau thread baru.

[WTA] Soal array dan filter words

Discussion in 'Pemrograman Web' started by Ocimzha, Sep 24, 2014.

  1. Ocimzha

    Ocimzha Ads.id Pro

    Joined:
    Oct 2, 2009
    Messages:
    309
    Likes Received:
    30
    Location:
    localhost
    Selamat sore semuanya, mau tanya ni udah buntu otak soalnya tiba2 blank ni jadi pusing sendiri I-)

    iseng2 dapat kode dibawah ini dan saya coba mau menambahkan filter agar kata yang di input tidak di rewrite, semacam article spinner gitu, tapi dari tadi coba nda bisa2 ni, kira2 mesti gemana yak?

    hasil bawaan dari script dibawah kyk gini misalnya:
    konten asli
    hasil rewrite
    nah saya maunya kita masukan kata mana yang tidak harus di rewrite, misal:
    $needle = array('kita','forum');

    konten asli
    hasil rewrite
    Code:
    <?php
    if($_POST['artikel']){
    include "koneksi.php";
    $artikel = $_POST['artikel'];
    
    $ar = explode(" ",$artikel);
    
    $hasil = "";
    foreach($ar as $value){
        if(!preg_match("/\.|'/",$value)){
            //kita cari kata-kata tersebut di database MySQL
            $cari = mysql_query("select * from sinonim where kata1='$value'");
            $j = mysql_num_rows($cari);
            if($j>0){
                $ka = mysql_fetch_array($cari);
                $hasil = $hasil."<span class='re'>".stripslashes($ka['kata2'])."</span> ";
            }else{
                $cari2 = mysql_query("select * from sinonim where kata2='$value'");
                $j2 = mysql_num_rows($cari2);
                if($j2>0){
                    $ka2 = mysql_fetch_array($cari2);
                    $hasil = $hasil."<span class='re'>".stripslashes($ka2['kata1'])."</span> ";
                }else{
                    $hasil = $hasil.stripslashes($value)." ";
                }
            }
        }else{
            $ka = preg_replace("/\./","",$value);
            $cari = mysql_query("select * from sinonim where kata1='$ka'");
            $j = mysql_num_rows($cari);
            if($j>0){
                $kax = mysql_fetch_array($cari);
                $hasil = $hasil."<span class='re'>".stripslashes($kax['kata2'])."</span>. ";
            }else{
                $hasil = $hasil.stripslashes($ka).". ";
            }
        }
    }
    echo $hasil;
    }
    ?>
    mudah2an saja ada yang bisa membantu O:-)
     
  2. thehoster

    thehoster Ads.id Pro

    Joined:
    Feb 14, 2010
    Messages:
    468
    Likes Received:
    61
    jalan simple aja gan, kata2 yang tidak mau direwrite kalo ditemukan dikasi tag sementara misal jadi [[kita]] lalu sesudah selesai rewrite, bersihin tag lalu tampilkan outputnya. karena dikasi tag sementara maka kata2 tsb tidak akan terikut direwrite sistem.
     
  3. midilicious

    midilicious Ads.id Fan

    Joined:
    Jul 12, 2011
    Messages:
    200
    Likes Received:
    16
    atau mungkin pake !in_array, pas baris
    Code:
    if(!preg_match("/\.|'/",$value)){
    
    ditambahin jadi
    Code:
    if(!preg_match("/\.|'/",$value) && !in_array($value, $needle)){
    
     
  4. Ocimzha

    Ocimzha Ads.id Pro

    Joined:
    Oct 2, 2009
    Messages:
    309
    Likes Received:
    30
    Location:
    localhost
    nda kepikiran kemarin gara2 kurang tidur otak jadi malas mikir ni, saya coba dulu....

    udah saya coba tapi pas di output nda ikut muncul, kan harusnya ikut muncul pas di output... ini ni yg bikin penasaran hehe...
     
  5. midilicious

    midilicious Ads.id Fan

    Joined:
    Jul 12, 2011
    Messages:
    200
    Likes Received:
    16
    haha iya ane salah naruh buat skipnya gan harusnya malah dibuat if sendiri

    Code:
    if(in_array($value, $needle)){
         $hasil .= stripslashes($value);
    }elseif(!preg_match("/\.|'/",$value)){
    
    
    itu yg pencarian di mysql di if pertama mungkin bisa gini ya, jadi lebih sederhana. CMIIW

    Code:
            //kita cari kata-kata tersebut di database MySQL
            $cari = mysql_query("select if(kata1='$value', kata1, kata2) kata from sinonim where (kata1='$value' OR kata2='$value')");
            $j = mysql_num_rows($cari);
            if($j>0){
                $ka = mysql_fetch_array($cari);
                $hasil .= "<span class='re'>".stripslashes($ka['kata'])."</span> ";
            }else{
                $hasil .= stripslashes($value)." ";
            }
    
     
    Last edited: Sep 25, 2014
  6. Ocimzha

    Ocimzha Ads.id Pro

    Joined:
    Oct 2, 2009
    Messages:
    309
    Likes Received:
    30
    Location:
    localhost
    wah bener ni soal filter udah bisa :D
    klo yg pencarian di if pertama saya ganti jadi seperti itu malah nda berubah ni hasilnya tetap seperti awal, apa ada yang kurang?
    seperti ini maksudnya.

    hasil tetap
    misal harusnya seperti ini
     
  7. midilicious

    midilicious Ads.id Fan

    Joined:
    Jul 12, 2011
    Messages:
    200
    Likes Received:
    16
    haha iya bro, ane ga teliti, kebalik itu if nya
    harusnya sih
    PHP:
    $cari mysql_query("select if(kata1='$value', kata2, kata1) kata from sinonim where (kata1='$value' OR kata2='$value')");
     

Share This Page