如何获取 URL 的一部分?

天空之声

如何从 url 中删除除基本 url 和第一部分之外的所有部分。零件的数量没有确定性。基本网址是可变的。我尝试了一些正则表达式但徒劳无功。

$url =  http://www.example.com/part1/part2/part3/part4;
base_url = parse_url($url, PHP_URL_HOST); // Outputs www.example.com

$desired_output = http://www.example.com/part1;
艾玛

在这里,我们可以使用 a preg_replace,带有一个简单的表达式,可能类似于:

(.+\.com\/.+?\/).+

我们使用这个捕获组捕获我们想要的输出:

(.+\.com\/.+?\/)

然后我们滑动到字符串的末尾并将其替换为$1.

测试

$re = '/(.+\.com\/.+?\/).+/m';
$str = 'http://www.example.com/part1/part2/part3/part4';
$subst = '$1';

$result = preg_replace($re, $subst, $str);

echo $result;

演示

正则表达式电路

jex.im可视化正则表达式:

在此处输入图片说明


对于所有域.com与否,我们也许可以用这个表达式来解决它:

(.+\..+?\/.+?\/).+

测试

$re = '/(.+\..+?\/.+?\/).+/m';
$str = 'http://www.example.com/part1/part2/part3/part4';
$subst = '$1';

$result = preg_replace($re, $subst, $str);

echo $result;

演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章