Регулярки

Тема в разделе "PHP", создана пользователем Jerry, 20 июл 2011.

Модераторы: latteo
  1. Jerry

    Jerry тот самый Учиха

    Регистр.:
    16 апр 2006
    Сообщения:
    1.226
    Симпатии:
    490
    Нужно из такой строки:
    Код:
    ^A0^B33^H107216G^C19930907^DБИНТ^U2004/7^E2400 
    Получить такой массив:
    Код:
    A => 0
    B => 33
    H => 107216G 
    ...
    После ^ может быть любой идентификатор, но всегда это один символ. Данные тоже могут быть любыми.
     
  2. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    PHP:
    $z '^A0^B33^H107216G^C19930907^DБИНТ^U2004/7^E2400';

    preg_match_all('/\^([^\^])([^\^]*)/'$z$a);

    $data = array();
    foreach(
    $a[1] as $id=>$val){
        
    $data[$val] = $a[2][$id];
    }

    echo 
    '<pre>';
    print_r($data);
    echo 
    '</pre>';
    Код:
    Array
    (
        [A] => 0
        [B] => 33
        [H] => 107216G
        [C] => 19930907
        [D] => БИНТ
        [U] => 2004/7
        [E] => 2400
    )
    
    
     
    OnArs и Jerry нравится это.