【问题标题】:Get only folder name from url in php without any file name with extension仅从 php 中的 url 获取文件夹名称,没有任何带扩展名的文件名
【发布时间】:2017-12-21 08:26:01
【问题描述】:

我想从 php 中的 url 获取没有任何文件名的文件夹名?

我的网址是http://w3schools.com/php/demo/learningphp.php?lid=1348

我只想从网址中检索http://w3schools.com/php/demo?

如何做到这一点?请帮忙。

【问题讨论】:

  • 在path 组件上使用parse_url 和explode,应该很容易
  • 子文件夹名称是动态的
  • 看看parse_url 并输入您输入的任何内容
  • 请考虑,在大多数情况下,您得到的不是文件夹路径,而只是一个 URL(我告诉你只是因为您有一个第三方 URL 作为示例)
  • 你喜欢这里的任何一个答案吗?

标签: php html url


【解决方案1】:

试试这个,

$URL = 'http://w3schools.com/php/demo/learningphp.php?lid=1348';
$URL_SEGMENTS = explode("/", $URL);

foreach($URL_SEGMENTS as $Segment){
  echo $Segment;
}

explode() 将用/ 分隔字符串并提供array。因此,您将在 foreach 循环中拥有所有 url 段,您可以使用它或将其存储在 string 或 array 中。

在您发表评论后,让我展示将返回您想要的 url 的脚本。

$Desired_URL = $URL_SEGMENTS[2].'/'.$URL_SEGMENTS[3].'/'.$URL_SEGMENTS[4];
echo $Desired_URL; 

【讨论】:

【解决方案2】:

如果url存储在$url中:

$url = 'http://w3schools.com/php/demo/learningphp.php?lid=1348';

您可以像这样进行 preg_replace:

print(preg_replace('/\/[^\/]*$/', '', $url));
http://w3schools.com/php/demo

该正则表达式意味着用空字符串替换从 / 和所有不是 / ... [^/]* ... 到字符串末尾 ... $ ... 的所有字符。删除它们即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-15
    • 2014-08-15
    • 1970-01-01
    • 2015-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多