提取文件中的精确值匹配

时间:2013-07-02 10:15:46

标签: php regex

我的文件包含以下内容:

  

ServerName www.example.com ServerAlias example.com.com ServerAlias   www.example.com.k.net ServerAlias example.com.net ServerAdmin   “me.example.com”DocumentRoot“/web/docroot/0/example.com/htdocs”   AssignUserId user1example.com user1example.com包括   /网络/虚拟主机-包括

我希望能够从文件中提取/web/docroot/0/example.com/htdocs的完全匹配。使用bash grep很容易但是 - 我试图在PHP中这样做。另请注意,由于安全原因,我们不允许从PHP执行bash。

我试过了:

$loc = file_get_contents($path_to_file);
preg_match("\/web.*$", $loc, $f);
print_r($f); //nothing comes out

3 个答案:

答案 0 :(得分:1)

你可以试试这个正则表达式:

DocumentRoot\s*\"(.*?)\"

它将在DocumentRoot中附加"之后查找网址。

答案 1 :(得分:1)

你只是忘记了表达式周围的正则表达式分隔符(即。//)

preg_match("/\/web.*$/", $loc, $f);

答案 2 :(得分:1)

以下为我效劳:

if (preg_match('#/web/[^"]+#', $repl, $arr))
   var_dump($arr[0]);

现场演示:http://ideone.com/6Fagqe