我從無(wú)法控制的 API 接收一些數(shù)據(jù)。包括一個(gè)網(wǎng)絡(luò)鏈接字段,其中包含無(wú)效的 url。在處理數(shù)據(jù)時(shí),我正在嘗試驗(yàn)證 url 以查看是否應(yīng)將其標(biāo)記為鏈接。一些鏈接通過(guò) http: 或 https: 通過(guò) - 其他鏈接沒(méi)有,所以我正在檢查是否應(yīng)該添加它。某些數(shù)據(jù)已輸入為 n/a我可以通過(guò)字符串比較手動(dòng)檢查這一點(diǎn),但我不知道可能還有哪些其他變體。我正在使用的功能如下,它檢查方案,然后驗(yàn)證。這會(huì)將其評(píng)估為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 回答

慕碼人8056858
TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊
驗(yàn)證是正確的,因?yàn)?URL 的“語(yǔ)法”是正確的。
我認(rèn)為您想評(píng)估 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)注
- 133 瀏覽
添加回答
舉報(bào)
0/150
提交
取消