📌  相关文章
📜  'https:','万维网. &所有子目录都从带有正则表达式的url中删除 - PHP(1)

📅  最后修改于: 2023-12-03 14:58:58.385000             🧑  作者: Mango

以'https:','www.'开头的url删除所有子目录的正则表达式示例 - PHP

如果您正在处理一些url,并且想从带有正则表达式的url中删除所有子目录,则可以使用以下示例。这个简单易懂的正则表达式片段可以快速过滤您不需要的url,以便您更容易地处理它们。

PHP示例代码:
<?php

$url = "https://www.example.com/path/to/sub/directory";

// 带有正则表达式的url替换
$url = preg_replace('#(https?:\/\/www\..*?\/)[^\/]*?\/.*#', '$1', $url);

echo $url;

?>

这行代码使用了可选的 's'(会匹配多行)和 'i'(不区分大小写)模式。

运行结果:
https://www.example.com/
正则表达式详解:

这个正则表达式可以很方便地过滤带有https:和www.开头的url,并且删除这个url的所有子目录。

正则表达式:#(https?:\/\/www\..*?\/)[^\/]*?\/.*#

  • https?:\/\/ – 匹配http://或https://协议
  • www\..*?\/ – 匹配www.和斜杠后的所有字符
  • [^\/]*?\/ – 匹配任意字符除了斜杠之外,直到找到一个斜杠
  • .* – 匹配任意长度字符串,用于匹配子目录

$1 引用了正则表达式中的捕获组,这里是 https://www.example.com/

总结

这个正则表达式简单明了,易于理解并且易于自定义。如果您需要删除不同的子目录,请修改正则表达式的最后一个分组即可。