За последние 24 часа нас посетили 59123 программиста и 1811 роботов. Сейчас ищут 983 программиста ...

Как правильно парсить сложные выражения

Тема в разделе "Прочие вопросы по PHP", создана пользователем Jeick9, 1 апр 2015.

  1. Jeick9

    Jeick9 Активный пользователь

    С нами с:
    18 янв 2011
    Сообщения:
    20
    Симпатии:
    0
    Здравствуйте, форумчане.
    Помогите пожалуйста разобраться с регулярными выражениями. Мне собственно нужно данные в непростом формате занести в html таблицу.
    Код (PHP):
    1. ["hi","привет","","privet"]],
    2. [["noun",
    3.  ["regards","regard","remembrance","remembrances","compliment"],
    4.  [["regards",["привет","поклон"],,0.11758133],
    5.   ["regard",["внимание","уважение","забота","расположение","поклон","привет"]],
    6.   ["remembrance",["память","воспоминание","сувенир","подарок на память","привет"]],
    7.   ["remembrances",["привет"]],
    8.   ["compliment",["комплимент","похвала","привет","любезность","поклон","поздравление"]]
    9.  ],
    10.  "привет",1
    11.  ]
    12. ]
    То есть, например слово regard должно быть в одной ячейке td и все остальные значения внимание,уважение, забота , расположение,поклон,привет во второй. Покажите пожалуйста хотя бы пример простого парсера таких выражений.
     
  2. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Что должно быть на выходе, приведи пример что на входе и что на выходе.
     
  3. Jeick9

    Jeick9 Активный пользователь

    С нами с:
    18 янв 2011
    Сообщения:
    20
    Симпатии:
    0
    На входе представленный висше код. На выходе нужно получить таблицу с этими же данными. Например:
    Код (Text):
    1. <table>
    2. <tr>
    3. <td>regard</td><td>внимание,уважение, забота , расположение,поклон,привет</td>
    4. </tr>
    5. <tr>
    6. <td>remembrance</td><td>память,воспоминание,сувенир,подарок на память,привет</td>
    7. </tr>
    8. ...
    9. </table>
     
  4. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    если последовательность у элементов в jsone может быть разная, то только проходясь по каждому и сравнивая с шаблонами держа последние в массиве. В случае совпадения заносить значение в нужную вам разметку.
    Если же последовательность всё время одна и та же, то какие вообще проблемы у вас могут возникнуть?
     
  5. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Ну тут или в несколько подходов (т.е. не одно супер рег. выражение) или возможно как то извратиться и перевести это в XML, а из него уже в HTML таблицу.
     
  6. rodent90

    rodent90 Новичок

    С нами с:
    26 мар 2015
    Сообщения:
    533
    Симпатии:
    37
    Это чего такое вообще и откуда?
    По виду - это как многомерный массив, но с ошибками синтаксиса)
    Хрен его знает, что вы там мутите)
    Если многомерный, проще слить в один " рекурсией", а от него уже плясать.
    Думаю, может последовать вопрос, как слить!?
    http://php.ru/forum/viewtopic.php?t=14601
     
  7. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    это шаблонизатор, наверное около того.