Saya ingin menggunakan PHP untuk memeriksa, apakah string yang disimpan dalam $myoutput
variabel berisi sintaks tautan yang valid atau hanya teks biasa. Fungsi atau solusi, yang saya cari, harus mengenali semua format tautan termasuk yang dengan parameter GET.
Solusi, disarankan di banyak situs, untuk benar-benar query string (menggunakan CURL atau file_get_contents()
fungsi) tidak mungkin dalam kasus saya dan saya ingin menghindarinya.
Saya memikirkan ekspresi reguler atau solusi lain.
Jawaban:
Anda dapat menggunakan Validator Filter asli
Contoh:
sumber
FILTER_VALIDATE_URL
tidak akan memvalidasi protokol suatu url. Jadissh://
,ftp://
dll akan berlalu.Ini adalah tutorial terbaik yang saya temukan di sana:
http://www.w3schools.com/php/filter_validate_url.asp
Kemungkinan bendera:
sumber
!filter_var(...) === false
==>filter_var(...) === true
atau adilfilter_var(...)
. :)ttps://www.youtube.com
sebagai validMenggunakan filter_var () akan gagal untuk url dengan karakter non-ascii, misalnya ( http://pt.wikipedia.org/wiki/Guimarães ). Fungsi berikut menyandikan semua karakter non-ascii (mis. Http://pt.wikipedia.org/wiki/Guimar%C3%A3es ) sebelum memanggil filter_var ().
Semoga ini bisa membantu seseorang.
sumber
sumber
Secara pribadi saya ingin menggunakan ekspresi reguler di sini. Kode di bawah berfungsi dengan baik untuk saya.
sumber
Mengingat masalah dengan filter_var () yang membutuhkan http: //, saya menggunakan:
$is_url = filter_var($filename, FILTER_VALIDATE_URL) || array_key_exists('scheme', parse_url($filename));
sumber
ttps://www.youtube.com
sebagai validAnda dapat menggunakan fungsi ini, tetapi akan mengembalikan false jika situs web offline.
sumber
Sebenarnya ... filter_var ($ url, FILTER_VALIDATE_URL); tidak bekerja dengan baik. Ketika Anda mengetikkan url asli, itu berfungsi tetapi, ia hanya memeriksa http: // jadi jika Anda mengetikkan sesuatu seperti " http: // weirtgcyaurbatc ", ia masih akan mengatakan itu nyata.
sumber
ttps://www.youtube.com
sebagai validCara lain untuk memeriksa apakah URL yang diberikan valid adalah dengan mencoba mengaksesnya, fungsi di bawah ini akan mengambil header dari URL yang diberikan, ini akan memastikan bahwa URL itu valid DAN server web hidup:
sumber
Datang di artikel ini dari 2012. Ini memperhitungkan variabel akun yang mungkin atau mungkin bukan sekadar URL biasa.
Penulis artikel tersebut, David Müeller , menyediakan fungsi ini yang ia katakan, "... bisa jadi berharga," bersama dengan beberapa contoh
filter_var
dan kekurangannya.sumber
jika ada yang tertarik untuk menggunakan cURL untuk validasi. Anda dapat menggunakan kode berikut.
sumber