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

输入url验证php

输入url验证php

PHP
GCT1015 2021-12-03 19:19:46
我对这段代码有问题:    $parse = parse_url($url); //$url is POST from input field    $urls = $parse['host'];    $domain = array('mydomain.com', 'mydomain.net');    if (!in_array($urls, $domain)) {       echo 'invalid URL';    }检查 url,如果不在数组中,如果是,则给出错误继续...。我看到所有类似的线程,但没有人解决我的问题。PS 问题是:只给出无效的 URL(以防 url 正确和 URL 错误)ex url:mydomain.com/u/123-test需要是有效的 url
查看完整描述

1 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

它不起作用的主要原因是您的网址不包含方案 http(s)部分。使用http(s)://, 当您尝试parse_url()它返回路径值而不是主机值


<?php

$url = 'http://yourdomain.com/u/123-test';  //$url is POST from input field

$url = parse_url($url, PHP_URL_HOST);

$domain = array('yourdomain.com', 'yourdomain.net');

if (!in_array($url, $domain)) {

     echo 'invalid URL';

    }else{

     echo 'valid URL';

}

?>  

PHP Parse URL -当协议前缀不存在时,域作为路径返回


演示: https //3v4l.org/nUCfH


查看完整回答
反对 回复 2021-12-03
  • 1 回答
  • 0 关注
  • 183 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信