PHP 檢測 URL 格式是否正確、域名地址是否有效:
if (filter_var($url, FILTER_VALIDATE_URL) === FALSE) {
return 'url格式不正確';
}
上面的代碼只會檢測字符格式是否正確,如果我們要進一步確定檢測域名是否有效則可以用下面的代碼:
if (!checkdnsrr($domain, 'ANY')) {
return '域名無效!';
}
改函式會檢測指定的域名是有 dns 記錄,因此是校驗一個域名最有效的方法,如果域名格式有效,dns 校驗的速度非常快的,反之如果域名格式不正確,會耗時幾秒時間回傳錯誤,因此,我們可以將上面兩個函式結合起來用,首先檢測域名的 url 的格式是夠有效,然后將 url 中的域名決議出來(使用 parse_url 函式),再檢測 dns 是否有效,最終可快速確定域名是否有效,
當然也可以在前端使用 js 或者HTML5的 url 欄位進行初步過濾,但對于資料要求比較嚴格的場景,后端的校驗還是必須的,
文章轉自:https://www.22vd.com/56510.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/59828.html
標籤:PHP
下一篇:php compact內置函式
