【问题标题】:How extract a string from path using regex? [closed]如何使用正则表达式从路径中提取字符串? [关闭]
【发布时间】:2023-03-04 17:25:01
【问题描述】:

首先感谢尝试帮助我!

我需要从这个路径目录中提取字符串“videos”:

/D/Servers/Domain/www/domain.com/administrator/components/com_videos/videos.php

如何着手解决这个问题?

【问题讨论】:

  • 要获得答案,您应该发布一些代码来证明您已经尝试过自己这样做。这是一个问答网站,但有自己的规则。stackoverflow.com/help/on-topic。阅读并申请。

标签: regex string joomla sublimetext2


【解决方案1】:

我不认为那里需要正则表达式。

一种方法是使用basename() + strstr() 函数:

<?php    
$path = '/D/Servers/Domain/www/domain.com/administrator/components/com_videos/videos.php';

echo strstr(basename($path), '.', true);
?>

演出:

videos

另一种方法是使用pathinfo:

<?php
$path = '/D/Servers/Domain/www/domain.com/administrator/components/com_videos/videos.php';

echo pathinfo($path, PATHINFO_FILENAME);
?>

演出:

videos

【讨论】:

  • 在最初的几分钟内,相互竞争的问题如何演变非常有趣
  • 感谢帮助,但我需要在 Snippet 文件中使用 Sublime Text 2,我需要正则表达式来执行此操作...
【解决方案2】:

问题的标题清楚地表明他想要一个正则表达式解决方案。

所以你正在寻找的正则表达式是:

/(\w+)\.php$/

【讨论】:

【解决方案3】:

如果您知道扩展名将始终为.php

http://php.net/manual/en/function.basename.php

$path = "/D/Servers/Domain/www/domain.com/administrator/components/com_videos/videos.php";
basename($path, ".php"); // returns "videos.php"

或者,如果您不知道扩展名:

http://www.php.net/manual/en/function.pathinfo.php

$path = "/D/Servers/Domain/www/domain.com/administrator/components/com_videos/videos.php";
$pathinfo = pathinfo($path);
$pathinfo['filename']; // equals "videos"

【讨论】:

  • 是的,你是对的。希望我们的回答对 OP 有所帮助。
  • 感谢帮助,但我需要在 Snippet 文件中使用 Sublime Text 2,我需要正则表达式来执行此操作...
  • sublime text 在其核心中使用 python。有 python 可以做到这一点。
  • 那你在你的问题中问这个怎么样?你不认为这是相关信息吗?
【解决方案4】:

好吧,因为这不是php问题,而是sublimetext问题,实际上是python问题:

import os
path = "/D/Servers/Domain/www/domain.com/administrator/components/com_videos/videos.php"
os.path.splitext(os.path.basename(path))[0] # outpus "videos"

【讨论】:

  • 你在做什么?这是一个 PHP 和 Joomla!问题。
  • 在其他答案上阅读 OP 的 cmets。这是一个 sublimetext 问题。
  • 好的,我现在看到了 :) 超级奇怪 :)
  • 是的,这是一个非常糟糕的问题。
【解决方案5】:

我建议使用JPATH 而不是定义完整路径,因为它使用的是 Joomla 编码标准:

$path = JPATH_ROOT . "/administrator/components/com_videos/videos.php";
basename($path, ".php");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 2014-03-04
    • 2014-10-17
    • 2021-09-25
    • 1970-01-01
    相关资源
    最近更新 更多