Разобрать данные из строки "имя: электронная почта Джона: john@example.com id: 123456" - PullRequest
0 голосов
/ 01 марта 2011

По сути, я хочу получить доступ к данным между подстроками (например, между "name:" и "email:")

Каков наилучший способ сделать это?

Ответы [ 3 ]

2 голосов
/ 01 марта 2011

Вы можете сначала взорваться в космосе ...

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

, а затем взорваться: при циклическом прохождении ....

 foreach($array as $arr){
     $temp = explode(':',$arr);
     echo $temp[1]; // your value here 
 }
1 голос
/ 01 марта 2011
<?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
        )

)
0 голосов
/ 01 марта 2011

Я думаю, что explode () достаточно.

...