PHP>正则表达式>搜索字符串,返回值

时间:2013-11-18 12:33:22

标签: php regex

我正在开发一个PHP项目,正则表达式不是我最强的技能。

我正在将文件的内容读入字符串,但需要从字符串中提取一些参数。任何人都可以帮助我使用正则表达式,它可以从以下定义中提取值,因为我需要通过'DB_USER'进行搜索:

  

define('DB_USER','admin');

所以基本上我需要将值'admin'作为变量......

提前致谢...

3 个答案:

答案 0 :(得分:2)

if( preg_match( '@.*\'DB_USER\'\s*\,\s*\'(.+)\'.*@U', $content, $matches ) ) {
    echo 'DB_USER: ' . $matches[1];
}
else {
    echo 'DB_USER was not found';
}

答案 1 :(得分:1)

$startsAt = strpos($out, "define('DB_USER', '") + strlen("define('DB_USER', '");
$endsAt = strpos($out, "');", $startsAt);
$result = substr($out, $startsAt, $endsAt - $startsAt);

答案 2 :(得分:0)

我对此进行了测试,得到 admin

<?php

$strContent = "<?php
define('DB_USER', 'admin');
  \$varname = 'special item';
";
//
if(preg_match("/DB_USER\W*([\w]*)/", $strContent, $matches))
{
  $strUser = $matches[1];
}
else
{
  $strUser = "";
}
//
echo "<textarea style=\"width: 700px; height: 90px;\">"
  . "user=" . $strUser
  . "</textarea>";
?>