0

可能重复:
如果 URL 中不存在 http://,如何添加它?

假设我想匹配一个可能包含或不包含http://的URL https://。当我更换它时,如果它在那里,我想https://在前面有,但如果它是http://或者什么都没有,我想http://在一开始就拥有。

我不知道如何用 preg_match 表达式来解决这个问题,或者对于非 PHP 倾向,一个搜索和替换 PHP 函数。

4

2 回答 2

1

您可以使用preg_replace_callback, 并编写一个函数来做到这一点。

于 2013-02-05T01:39:23.347 回答
0

如果你想要一个正则表达式解决方案,这样的东西应该可以工作。

preg_replace('|^(?:http(s)?://)?(.+)$|', 'http\\1://\\2', $url);

虽然我可能会使用parse_url并将其重新组合在一起。

于 2013-02-05T01:56:48.147 回答