Php 正则表达式删除URL中的字符串
我有一个URL,在该URL中传递基本身份验证,例如:Php 正则表达式删除URL中的字符串,php,regex,Php,Regex,我有一个URL,在该URL中传递基本身份验证,例如: https://user:pass@dev.google.com 从最后一个/到@之间删除所有内容的正则表达式是什么 例如: https://user:pass@dev.google.com 将成为: https://dev.google.com 我试过一些正则表达式,但我的知识对这门学科仍然是基础的 我将使用PHP函数进行替换 preg_replace('#/[^/]*@#', '/', $url); 细分: /匹配斜杠 [^/]
https://user:pass@dev.google.com
从最后一个/到@之间删除所有内容的正则表达式是什么
例如:
https://user:pass@dev.google.com
将成为:
https://dev.google.com
我试过一些正则表达式,但我的知识对这门学科仍然是基础的
我将使用PHP函数进行替换
preg_replace('#/[^/]*@#', '/', $url);
细分:
匹配斜杠/
匹配一系列非斜杠字符[^/]*
与@
字符匹配@
/
到下一个@
,它们之间没有/
。然后用斜线代替
但是,使用parse\u url()
可能比使用regexp进行特殊解析更好
细分:
匹配斜杠/
匹配一系列非斜杠字符[^/]*
与@
字符匹配@
/
到下一个@
,它们之间没有/
。然后用斜线代替
但是,使用parse\u url()
可能比使用regexp进行特殊解析更好。使用parse\u url()
可以:
$url = 'https://user:pass@dev.google.com';
$scheme = parse_url($url, PHP_URL_SCHEME);
$host = parse_url($url, PHP_URL_HOST);
print $scheme."://".$host;
使用parse_url()
执行以下操作:
$url = 'https://user:pass@dev.google.com';
$scheme = parse_url($url, PHP_URL_SCHEME);
$host = parse_url($url, PHP_URL_HOST);
print $scheme."://".$host;
哪种编程语言?不要评论,只添加一个适当的标记。你使用regexp而不是
parse\u url()
,有什么原因吗?@Barmar没有任何原因,我实际上是php新手,所以我不熟悉parse\u url()
,不过,我会看看这个,谢谢你的建议!哪种编程语言?不要评论,只添加一个适当的标记。你使用regexp而不是parse\u url()
,有什么原因吗?@Barmar没有任何原因,我实际上是php新手,所以我不熟悉parse\u url()
,不过,我会看看这个,谢谢你的建议!感谢它解决了我的问题,我会尽快接受答案:)那么url的情况如何呢example.com/@username/profile
?@Philipp这就是为什么我建议使用url解析器而不是临时解析,因为它能更好地处理各种情况。感谢它解决了我的问题,我会尽快接受答案:)那么url的情况如何呢?比如example.com/@username/profile
?@Philipp这就是为什么我建议使用url解析器而不是临时解析,因为它能更好地处理各种情况。