将字符串分解为字段

时间:2013-10-24 18:23:58

标签: php mysql regex

我有一个使用PHP的字符串输入,如下所示:

Log,,t1,12.12:t2,20.23:t3,30.00:t4,50.20:11.23

我想将其保存到MySQL

field:reading
t1:12.12
t2:20.23
t3:30.00
t4:50.20
Temp:11.23

有人能指点我吗?

2 个答案:

答案 0 :(得分:2)

开始你必须解析行和列

$string = 't1,12.12:t2,20.23:t3,30.00:t4,50.20:11.23';
$rows = explode(':', $string);
$table = array();
foreach(rows as $row) {
   $table[] = explode(',', $row);
}

答案 1 :(得分:0)

您可以使用以下正则表达式:

if (preg_match_all('/[a-z]+\d+,\d+\.\d+|\d+\.\d+/i', $string, $matches) {
    var_dump($matches[0]);
}

如果每个字段都称为“t + number”,则正则表达式会更简单:

if (preg_match_all('/t\d+,\d+\.\d+|\d+\.\d+/i', $string, $matches) {
    var_dump($matches[0]);
}