如何preg_match目录然后返回该目录

时间:2014-11-19 00:18:43

标签: php preg-match

我正在尝试检查与.core*匹配的目录,并将其作为字符串返回。

示例:如果目录名称为.core-alpha,则将.core-alpha作为字符串返回。或者,如果找到的目录是.core-1-rc1,则将其作为字符串返回。

这就是我想要实现的目标:

$str = '.core/';
$core = preg_match('.core.', $str);

define('ROOT_DIR', realpath(dirname(__FILE__)) .'/');

require_once(ROOT_DIR . $core . '/lib/app.php');
$app = new App();

只返回一个整数 - 即:

/home/ubuntu/workspace/1/lib/app.php

任何帮助将不胜感激 - Thnx

2 个答案:

答案 0 :(得分:1)

preg_match返回1或0,而不是匹配。所以只需测试返回值:

$str = '.core/';
if (preg_match('/^\.core.*/', $str)) {
    $core = $str;
}

检查第一个示例:http://php.net/manual/en/function.preg-match.php

答案 1 :(得分:0)

嗨,你有一个缺少的参数。匹配值的接收器应通过引用传递。

你可以试试吗

$str = '.core/';
   if (preg_match('/^\.core.*/', $str, $core)) {
      echo $core[0];
   }
   else
   {
      echo "No Match Found."
   }