За последние 24 часа нас посетили 5345 программистов и 443 робота. Сейчас ищут 126 программистов ...

Нужна помощь с регуляркой

Тема в разделе "Регулярные выражения", создана пользователем Bitrimmer, 11 июл 2018.

  1. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    Код (Text):
    1. '/FIO(.*)Country/
    FIO":"Игнатева Ксения Александровна","Country

    Из исходника так выводит - как сделать так чтобы выводилось только имя а не вся шляпа со знаками и FIO? бьюсь уже и с ! и с [ ]не понимаю - если можно объясните почему именно так
    проверить можно тут
     
  2. Dron-Boy

    Dron-Boy Активный пользователь

    С нами с:
    20 ноя 2014
    Сообщения:
    867
    Симпатии:
    112
  3. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    Весь прикол в том что мне нужны вхождения по словам по этим - а то говна вообще не мерено получается

    нельзя ли мою как то обгрейдить?
    просто оригинал выглядит вот так

    [{"ID":"edc9b2a8-9de7-44c8-98ac-60b2ad838603","Result":"OK","FIO":"Игнатева Ксения Александровна","Country":"Тунис","Hotel":"Club Novostar Dar Khayam","VojageDate":"\/Date(1504541088000)\/","BackDate":"\/Date(1505491440000)\/","IsBooking":true,"IsTourComplete":true,"TaskClose":false,"ManagerID":"798bc6e7-f3fb-4c2c-afcb-d211761048ae","ManagerFIO":"Леонова Евгения Игоревна","Location":"Ветеранов. Петергофское ш 53 А","Phone":"(812) 643-3457","Price":86925,"Kassa":86925}]

    и мне надо повытаскивать информацию - просто по словам проще мне кажется
     
    #3 Bitrimmer, 11 июл 2018
    Последнее редактирование: 11 июл 2018
  4. Dron-Boy

    Dron-Boy Активный пользователь

    С нами с:
    20 ноя 2014
    Сообщения:
    867
    Симпатии:
    112
    Серьезно? это ведь json строка. json_decode тебе в помощь. в результате будет массив
     
  5. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    Код (Text):
    1. $url = "site.ru";
    2. $content = file($url);
    3. $content = implode("\n\r", $content);
    4. $result = htmlspecialchars ($content);
    5.  
    6.  
    7. print_r(json_decode($content));
    8. ///Все что ниже бред...
    9. echo $content['FIO'];
    Как вывести определенный элемент массива - мне выводится вот так

    Код (Text):
    1. Array ( [0] => stdClass Object ( [ID] => a8f31730-4abf-4062-aa06-b7cff0922f55 [Result] => OK [FIO] => Павловская Марина Михайловна [Country] => Россия [Hotel] => БАРХАТНЫЕ СЕЗОНЫ, квартал Русский дом (участок 14), ГК 3* [VojageDate] => /Date(1531131494000)/ [BackDate] => /Date(1531649880000)/ [IsBooking] => 1 [IsTourComplete] => 1 [TaskClose] => [ManagerID] => 9c2fc546-a574-49ba-a2e4-b707608cb90b [ManagerFIO] => Николаева Анастасия Сергеевна [Location] => Ветеранов. Петергофское ш 53 А [Phone] => (812) 643-3457 [Price] => 27524 [Kassa] => 27524 ) )
     
  6. voral

    voral Новичок

    С нами с:
    30 ноя 2017
    Сообщения:
    594
    Симпатии:
    95
    Код (Text):
    1. print_r(json_decode($content, true));
    если не хочется работать с объектом
     
  7. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    print_r(json_decode($content, true));

    print $content->{'ID'};

    Так в том и прикол что ассоциативный массив же - а вывести по отдельности не могу


    что делать если хочется?
    мне надо отдельно вывести ID FIO итд, ..туплю не могу разобратся
     
  8. voral

    voral Новичок

    С нами с:
    30 ноя 2017
    Сообщения:
    594
    Симпатии:
    95
    Это не процедура меняющая параметр, а функция возвращающая либо объект либо массив. В этом же ошибка и с объектом

    Код (Text):
    1. $arData = json_decode($content, true);
    2. print_r($arDara);
    3. echo $arData['ID'];
     
    Bitrimmer нравится это.
  9. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    что print_r что var_dump после присвоения переменной $arData = json_decode($content, true); выдает NULL
     
  10. voral

    voral Новичок

    С нами с:
    30 ноя 2017
    Сообщения:
    594
    Симпатии:
    95
    Вы код скопировали мой вместе с опечаткой? $arDara вместо $arData ?
     
  11. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    ну массив то он выводит а вот на счет ID - нет - просто ничего - ни ошибки ни id
     
  12. voral

    voral Новичок

    С нами с:
    30 ноя 2017
    Сообщения:
    594
    Симпатии:
    95
    Покажите, что выдает print_r($arData);
     
  13. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    Код (Text):
    1. Array ( [0] => Array ( [ID] => edc9b2a8-9de7-44c8-98ac-60b2ad838603 [Result] => OK [FIO] => Игнатева Ксения Александровна [Country] => Тунис [Hotel] => Club Novostar Dar Khayam [VojageDate] => /Date(1504541088000)/ [BackDate] => /Date(1505491440000)/ [IsBooking] => 1 [IsTourComplete] => 1 [TaskClose] => [ManagerID] => 798bc6e7-f3fb-4c2c-afcb-d211761048ae [ManagerFIO] => Леонова Евгения Игоревна [Location] => Ветеранов. Петергофское ш 53 А [Phone] => (812) 643-3457 [Price] => 86925 [Kassa] => 86925 ) )
    как я понимаю это многомерный массив и надо сначало к 0 обратится а потом уже к ID?
     
  14. voral

    voral Новичок

    С нами с:
    30 ноя 2017
    Сообщения:
    594
    Симпатии:
    95
    Ну. Так и смотрите внимательнее :) У вас массив массивов. Т.е. для первой записи
    $arData[0]['ID'] ....
     
    Bitrimmer нравится это.
  15. Bitrimmer

    Bitrimmer Новичок

    С нами с:
    17 июн 2016
    Сообщения:
    23
    Симпатии:
    0
    Код (Text):
    1. echo $arrData['0']['FIO'];
    все разобрался - спасибо
    --- Добавлено ---
    Круто - спасибо за помощь получается json_decode($content, true); не создает массив? а только перекодирует? а сам массив создается при присваивании пременной?
     
  16. Dron-Boy

    Dron-Boy Активный пользователь

    С нами с:
    20 ноя 2014
    Сообщения:
    867
    Симпатии:
    112
    Эта функция переобразовывает json строку либо в массив либо в объект и возвращает данные.