我從API接收了一些我無法控制的數(shù)據(jù)。包括一個 Web 鏈接字段,其中包含無效的 url。在處理數(shù)據(jù)時,我正在嘗試驗(yàn)證URL以查看是否應(yīng)將其標(biāo)記為鏈接。有些鏈接帶有http:或https: - 其他鏈接不是,所以我正在檢查這一點(diǎn),看看我是否應(yīng)該添加它。某些數(shù)據(jù)已輸入為 n/a我可以使用字符串比較手動檢查這一點(diǎn),但我不知道可能還有哪些其他變體。我使用的函數(shù)如下,它檢查方案,然后進(jìn)行驗(yàn)證。這會將其評估為 http://n/a 然后進(jìn)行驗(yàn)證。如何檢查它是否有效?function GetUrl($url, $ReturnBlankIfInvalid = false){ if ($ret = parse_url($url)) { if ( !isset($ret["scheme"]) ) { $url = "http://{$url}"; } } if ($ReturnBlankIfInvalid) { if (filter_var($url, FILTER_VALIDATE_URL) === FALSE) $url = ""; } return $url;}
1 回答

蕭十郎
TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超13個贊
驗(yàn)證是正確的,因?yàn)?URL 的“語法”是正確的。
我認(rèn)為您要評估URL是否可調(diào)用。您可以使用 curl 執(zhí)行此操作,并檢查 HTTP 200 響應(yīng)。
$ch = curl_init($url);
$rv = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo ($httpCode == 200) ? "yay" : "oh no!";
- 1 回答
- 0 關(guān)注
- 156 瀏覽
添加回答
舉報(bào)
0/150
提交
取消