从字符串“name:john email:john@example.com id:123456”解析数据

时间:2011-03-01 18:38:25

标签: php string parsing

基本上,我想要的是访问子串之间的数据(例如“name:”和“email:”之间)

这样做的最佳方法是什么?

3 个答案:

答案 0 :(得分:2)

你可以先在太空爆炸......

 $array  = explode(' ',$string);

然后爆炸:循环播放....

 foreach($array as $arr){
     $temp = explode(':',$arr);
     echo $temp[1]; // your value here 
 }

答案 1 :(得分:1)

<?php
    $tbl = 'name:john email:john@example.com id:123456';
    preg_match_all('/(name|email|id)\:([a-z0-9@_\-\.]+)/i', $tbl, $matches);
    print_R($matches);
?>

结果:

Array
(
    [0] => Array
        (
            [0] => name:john
            [1] => email:john@example.com
            [2] => id:123456
        )

    [1] => Array
        (
            [0] => name
            [1] => email
            [2] => id
        )

    [2] => Array
        (
            [0] => john
            [1] => john@example.com
            [2] => 123456
        )

)

答案 2 :(得分:0)

我认为explode()就足够了。