Php 如何使用preg_match更改URL的方案?
可能重复:Php 如何使用preg_match更改URL的方案?,php,regex,Php,Regex,可能重复: 假设我想匹配一个URL,该URL中可能包含http://、https://,或者两者都没有。当我替换它时,如果它在前面,我希望在前面有https://,但是如果它是http://或者什么都没有,我希望在开始时有http:// 我不知道如何用preg_match表达式来解决这个问题,或者对于非PHP函数,使用搜索和替换PHP函数来解决这个问题。您可以使用并编写一个函数来实现这一点。如果您想要一个正则表达式解决方案,类似的方法应该可以奏效 preg_replace(“|^(?:http
假设我想匹配一个URL,该URL中可能包含http://、
https://
,或者两者都没有。当我替换它时,如果它在前面,我希望在前面有https://
,但是如果它是http://
或者什么都没有,我希望在开始时有http://
我不知道如何用preg_match表达式来解决这个问题,或者对于非PHP函数,使用搜索和替换PHP函数来解决这个问题。您可以使用并编写一个函数来实现这一点。如果您想要一个正则表达式解决方案,类似的方法应该可以奏效
preg_replace(“|^(?:http(s):/)?(.+)$|',“http\\1://\\2',$url)代码>
尽管我可能会使用它并将其重新组合起来。请看。阅读可能会保留您的答案。我的问题在于URL,如www.stackoveflow.com
,但没有任何http://或https://did 你试过了吗<代码>echo preg_替换(“|^(?:http(s):/)?(.+)$|’,“http\\1:/\\2”,“www.stackoverflow.com”)代码>