为了账号安全,请及时绑定邮箱和手机立即绑定

php 正在验证一个无效的 url URL

php 正在验证一个无效的 url URL

PHP
森林海 2022-07-22 15:19:43
我从无法控制的 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!";


查看完整回答
反对 回复 2022-07-22
  • 1 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号