Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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
如何强制所有链接以HTTP[php]开头_Php_Regex_Url_Hyperlink - Fatal编程技术网

如何强制所有链接以HTTP[php]开头

如何强制所有链接以HTTP[php]开头,php,regex,url,hyperlink,Php,Regex,Url,Hyperlink,这个问题有点难以回答,所以我会尽力的 如果还没有,我希望每个链接都以http://开头。下面是一个例子: 我想要一个像google.com这样的链接自动重写到http://google.com。让我解释一下原因。我正在尝试使用正则表达式将所有用户编写的URL转换成真正的链接。我用这个表达式成功地做到了这一点:/[a-z]{3,7}\:\/\/[^\不要试图编写一个正则表达式来尝试将所有看起来可能是URL的内容转换为URL。充其量,它会翻转过来,用不存在的内容生成URL,而缺少您意想不到的格式的U

这个问题有点难以回答,所以我会尽力的

如果还没有,我希望每个链接都以http://开头。下面是一个例子:


我想要一个像
google.com
这样的链接自动重写到
http://google.com
。让我解释一下原因。我正在尝试使用正则表达式将所有用户编写的URL转换成真正的链接。我用这个表达式成功地做到了这一点:
/[a-z]{3,7}\:\/\/[^\不要试图编写一个正则表达式来尝试将所有看起来可能是URL的内容转换为URL。充其量,它会翻转过来,用不存在的内容生成URL,而缺少您意想不到的格式的URL

如果您有一个应该是URL的字符串,但它不是以http://
开头,只需将其追加即可

$myurl = 'google.com';
if( !preg_match('@^https?://@', $myurl) ) {
  $myurl = 'http://'.$myurl;
}

更好的是,使用输入验证来确保坏数据不会首先进入您的应用程序。

您的实际url是什么样子的?
$myurl = 'google.com';
if( !preg_match('@^https?://@', $myurl) ) {
  $myurl = 'http://'.$myurl;
}