По сути, я хочу получить доступ к данным между подстроками (например, между "name:" и "email:")
Каков наилучший способ сделать это?
Вы можете сначала взорваться в космосе ...
$array = explode(' ',$string);
, а затем взорваться: при циклическом прохождении ....
foreach($array as $arr){ $temp = explode(':',$arr); echo $temp[1]; // your value here }
<?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 ) )
Я думаю, что explode () достаточно.