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.
Klik link berikut untuk informasi cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com

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

Comments

  • 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.