我從無法控制的 API 接收一些數據。包括一個網絡鏈接字段,其中包含無效的 url。在處理數據時,我正在嘗試驗證 url 以查看是否應將其標記為鏈接。一些鏈接通過 http: 或 https: 通過 - 其他鏈接沒有,所以我正在檢查是否應該添加它。某些數據已輸入為 n/a我可以通過字符串比較手動檢查這一點,但我不知道可能還有哪些其他變體。我正在使用的功能如下,它檢查方案,然后驗證。這會將其評估為http://n/a然后進行驗證。如何檢查它是否有效?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貢獻1803條經驗 獲得超6個贊
驗證是正確的,因為 URL 的“語法”是正確的。
我認為您想評估 URL 是否可調用。您可以使用 curl 執行此操作并檢查 HTTP 200 響應。
$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 關注
- 130 瀏覽
添加回答
舉報
0/150
提交
取消