Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

cara falidasi URL untuk hasil grabbing

mau tanya master... Ane udah buat koding seperti ini
<?php
$url = $_GET['url'];
if ($url==NULL){
echo "domain tidak falid";
}
else
{
echo "domain ok!";
}
?>


nah kendalanya jika user inpukan url=diskusiweb itu di anggap url yg benar, hasil grabbing nya jd blank, gimana cara agar tampil halaman yang memberitahukan agar user mengerti. Thx master

Tanggapan

  • gimana cara agar tampil halaman yang memberitahukan agar user mengerti. 
    Maksudnya dari segi apa usser nantinya akan mengerti? apa biar user tidak ubah2 variable GET url atau gimana?
  • bebas user mau input apa aja, tp butuh filter domain falid agar graph tidak blank, udah coba pake preg_match detect URL tp hasilnya nihil... Misal user input http://diskusiweb

    <?php

    $url ="";
    $erorurl ="";

    function atur_masukan($data){
    $data=trim($data);
    $data=stripslashes($data);
    $data=htmlspecialchars($data);
    return $data;
    }

    if(empty($_POST["url"])){
    $erorurl ="url masih kosong";
    }
    else
    {
    $url = atur_masukan($_POST["url"]);
    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $url)){
    $erorurl ="url salah";
    }
    }


    echo "<form method=post action=$PHP_SELF>";
    echo "$erorurl";
    echo $url;
    echo "";
    ?>

    maka http://diskusiweb akan di anggap url falid, lalu dalam grab itu bukanlah file falid misal

    $url = "http://diskusiweb";
    $content = file_get_content($url);
    echo $content; // display bakalan blank bukan? (teory)
  • edited March 2016
    dah cobain pake filter_var ?


    if (filter_var($url, FILTER_VALIDATE_URL) === FALSE) {
    die('Not a valid URL');
    }

    http://php.net/manual/en/function.filter-var.php
  • edited March 2016
    kalo pake fungsi preg_match()  coba di bawah ini: 
    preg_match('/^(http|https):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url)
  • sebenarnya preg_match atak pun filter_var itu work semua, pengennya ane user harus memasukkan url lengkap, karna jika user input http://diskusiweb tanpa .com tetap di anggap url falid, jd jika tanpa .com maka akan di tolak dan bukan url falid, kan udah ane sebutkan pada topik di atas...
  • edited March 2016
    Coba dunk kamu perhatiin pattern preg_match yang kamu buat dengan yang aku posting sama gak? Udah dapat nyoba pattern yang aku post sebelum comment?

    Ada 2 cara menurut aku untuk validasi:

    1. pake javascript di sisi client
    2. pake php di sisi server

    Yang aku info sisi server dimana kalau user input domain tanpa http/https (domain.com) tanpa .com (http://domain) maka akan dianggap invalid url.

    Domain yang diinput user tanpa www (http://domain.com) atau dengan www (http://www.domain.com) akan diangap valid

    $url = "http://domain.com";
    if (preg_match('/^(http|https):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url)) {
    echo "url looks good";
    } else {
    echo "invalid url.";
    }
  • ok master ane coba dulu
  • thank master work, oya gimana cara meng-konvert html jd file image sesuai page yg kita grabb?
Sign In or Register to comment.