你好,互联网上的人!我需要一些帮助 :) 我有一个php rcon脚本,这个脚本将rcon的结果保存到名为results的变量中,这是一个例子。
results =显示lluiscab的2个跟踪目标: - rcon:4(rcon) - 测试:5555(测试)
我想将rcon之类的变量设置为4并测试为5555。 我使用爆炸和其他认为我在网上找到的,但我不能使它工作。有人知道怎么做吗?
编辑:这个变量发生了变化,所以,有时我可以拥有rcon,测试和硬币,有时候只有rcon
答案 0 :(得分:1)
您可以使用正则表达式。
preg_match('/rcon:\s*(\d+).*test:\s*(\d+)/', $line, $match);
$rcon = $match[1];
$test = $match[2];
\d+
匹配一系列数字,并在其周围放置()
使其成为捕获组。 $match
包含与正则表达式匹配的输入行部分,$match[N]
包含第N个捕获组。
如果您需要捕获看似word: number
的任何内容,可以使用preg_match_all
和关联数组。
preg_match_all('/(\w+):\s*(\d+)/', $line, $matches, PREG_SET_ORDER);
$results = array();
foreach ($matches as $match) {
$results[$match[1]] = intval($match[2]);
}
对于示例输入,这将创建
$results = array(
'rcon' => 4,
'test' => 5555
);