我正在开发一个PHP项目,正则表达式不是我最强的技能。
我正在将文件的内容读入字符串,但需要从字符串中提取一些参数。任何人都可以帮助我使用正则表达式,它可以从以下定义中提取值,因为我需要通过'DB_USER'进行搜索:
define('DB_USER','admin');
所以基本上我需要将值'admin'作为变量......
提前致谢...
答案 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>";
?>