PHP:在特定字符串中获取一个字符串

时间:2014-06-11 06:56:30

标签: php regex string

我在一个字符串中有很多数据,我想得到一些特定的数据块。

我的数据示例:

lorem ipsum fashjdf hsakj sdhsdaf something: 'data' jhjkhf akjh fa kjhjhk fdasjh kafsdj hkadf 
current database: 'databasename' alot of lorem ipsum data current username: 'username'
and jet more lorem ipsum data and so on

现在我想在"当前数据库"之后获取字符串。以及当前用户名"之后的那个。但我想将它们分配给字符串$ database和$ username。

我知道有一个像

这样的正则表达式
preg_match_all("/'(\w*)'/", $output, $result);

但是在lorem ipsum-data中还有很多其他带引号的文字。我只想得到两个字符串并将它们分配给变量。

有没有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

$subject = "lorem ipsum fashjdf hsakj sdhsdaf something: 'data' jhjkhf akjh fa kjhjhk fdasjh kafsdj hkadf 
current database: 'databasename' alot of lorem ipsum data current username: 'username'
and jet more lorem ipsum data and so on";

preg_match("/current database: '([^']+)'/", $subject, $matches);
$database = $matches[1];

preg_match("/current username: '([^']+)'/", $subject, $matches);
$username = $matches[1];

var_dump($database);
var_dump($username);