繁体   English   中英

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

[英]PHP > Regular Expression > Search String, Return Value

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

我正在将文件的内容读取为字符串,但是需要从字符串中提取许多参数。 鉴于我需要通过'DB_USER'搜索,有人可以用正则表达式为我提供帮助,该正则表达式可以从以下定义中提取值:

define('DB_USER','admin');

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

提前致谢...

if( preg_match( '@.*\'DB_USER\'\s*\,\s*\'(.+)\'.*@U', $content, $matches ) ) {
    echo 'DB_USER: ' . $matches[1];
}
else {
    echo 'DB_USER was not found';
}
$startsAt = strpos($out, "define('DB_USER', '") + strlen("define('DB_USER', '");
$endsAt = strpos($out, "');", $startsAt);
$result = substr($out, $startsAt, $endsAt - $startsAt);

我对此进行了测试,请获取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>";
?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM