Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP/Laravel入门-将Http://和Https://添加到URL路径_Php_Validation_Url_Laravel_Input - Fatal编程技术网

PHP/Laravel入门-将Http://和Https://添加到URL路径

PHP/Laravel入门-将Http://和Https://添加到URL路径,php,validation,url,laravel,input,Php,Validation,Url,Laravel,Input,我正在尝试使用一个输入字段来添加网站/url。要成功提交表格,我只需要www.domainname.com;但是,提交后,如果不是提交表单的人添加的,我想在http://或https://上添加 验证过程如下所示: public function name($id) { $input = Input::all(); $validator = Validator::make( $input, array( 'website' => 'active_url', ) );

我正在尝试使用一个输入字段来添加网站/url。要成功提交表格,我只需要www.domainname.com;但是,提交后,如果不是提交表单的人添加的,我想在http://或https://上添加

验证过程如下所示:

public function name($id) {

$input = Input::all();
$validator = Validator::make(
  $input,
  array(
    'website' => 'active_url',
  )
);

}
为此,需要一个if语句。我试着按照下面列出的代码插入一些东西,但没有任何运气

if (!preg_match("~^(?:f|ht)tps?://~i", $url)) {
  $url = "http://" . $url;
}
我对PHP相当陌生,刚刚开始使用Laravel,所以如果有任何困惑或信息不足,我提前道歉。非常感谢您的帮助。

这应该可以:

if (stripos($url, "http://") === false && stripos($url, "https://") === false) {
  $url = "http://" . $url;
}

stripos
不区分大小写,因此用户键入的url前缀是否为小写字母并不重要。

您可以简单地从开始剥离方案,然后添加它

$url = preg_replace('#^https?://#', '', $url);
$url = "http://" . $url;


我认为不需要验证,。。也许它能帮助你

@alix-axel码

function addhttp($url) {
    if (!preg_match("~^(?:f|ht)tps?://~i", $url)) {
        $url = "http://" . $url;
    }
    return $url;
}
if (!preg_match('#^http(s)?://#', $url)) {
  $url = 'http://' . $url;
}
function addhttp($url) {
    if (!preg_match("~^(?:f|ht)tps?://~i", $url)) {
        $url = "http://" . $url;
    }
    return $url;
}