首先,谢谢你帮助我!
我需要从此路径目录中提取字符串“videos”:
/D/Servers/Domain/www/domain.com/administrator/components/com_videos/videos.php
如何解决此问题?
答案 0 :(得分:3)
我不认为那里需要正则表达式。
一种方法是使用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
答案 1 :(得分:1)
如果您知道扩展程序将始终为.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"
答案 2 :(得分:1)
问题的标题清楚地表明他想要一个正则表达式解决方案。
所以你正在寻找的正则表达式是:
/(\w+)\.php$/
答案 3 :(得分:0)
好吧,因为这不是一个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"
答案 4 :(得分:0)
我建议使用JPATH
rathing而不是定义完整路径,因为它使用Joomla编码标准:
$path = JPATH_ROOT . "/administrator/components/com_videos/videos.php";
basename($path, ".php");