Могу ли я разбить эту строку, чтобы получить необходимую мне информацию? - PullRequest
0 голосов
/ 14 мая 2019

Мне дали этот проект, где пользователь может заполнять формы для решения проблем, связанных с работой, и меня попросили получить информацию, заполненную от каждого человека, чтобы они могли видеть все отправленные им формы, но это всехранится в одном столбце базы данных, и я не уверен, смогу ли я разделить эту длинную строку.

Во-первых, это строка, которая сохраняется в БД:

a:20:{s:12:"cfdb7_status";s:6:"unread";s:9:"-name";s:0:"Alvaro";s:13:"-lastname";s:0:"Alvaro";s:10:"-email";s:19:"mail@mail.es";s:15:"-tipoconsul";s:10:"Vacaciones";s:13:"-fecharec";s:10:"2018-08-09";s:14:"-fechaalta";s:10:"2017-11-01";s:18:"-CategoriaProf";s:19:"Tecnico electronico";s:18:"-NombreEmpresa";s:30:"Inversiones Tecnicas G&F S.L. ";s:21:"-ActividadEmpresa";s:29:"venta de equipos electronicos";s:18:"-DireccEmpresa";s:15:"calle falsa 123";s:15:"-telEmpresa";s:9:"555555555";s:20:"-ContactoEmpresa";s:6:"Alvaro";s:16:"-Comentarios";s:8:"Probando";s:18:"-comunicacion1";s:0:"";s:18:"-comunicacion2";s:0:"";s:9:"-nom1";s:0:"";s:9:"-nom2";s:0:"";s:13:"-contrat1";s:0:"";s:13:"-contrat2";s:0:"";}

В этом примере мне потребуется получить следующую информацию для отображения:

  • "Альваро"

  • "Альваро"

  • "mail@mail.es"
  • "Vacaciones"
  • "2018-08-09"
  • "2017-11-01"
  • "Tecnico electronico"
  • "Inversiones Tecnicas G & F SL"
  • "venta de equipos electronicos"
  • "calle falsa 123"
  • "555555555"
  • "Alvaro"
  • "Probando"
  • Comunicacion1 и comunicacion2 (в данном случае пустые)
  • Все следующие поля nom и contrat

Я много раз пытался взорвать строку, но ничего хорошегоразделитель для этого, и на данный момент я думаю, что я попробовал все возможные комбинации:;_ ""

<?php 
    $info = explode(" ", $resultado->form_value); 
    $i = 0;
    $j = 0;
    while ($i < count($info)) {
        // echo $info[$i];
        $info2 = explode("_", $info[$i]);
        while ($j < count($info2)) {
            echo $info2[$j];
        $j++;
    }
    $i++;
    }
?>

Этот - самый близкий, который я был, но, как вы можете видеть, остается еще много информации, которая не появляется в последней строке

IЯ не очень много знаю о регулярных выражениях, я пытался их создать, но я не совсем понимаю синтаксис, и я действительно не знаю, является ли эта строка разделимой со всеми знаками препинания, которые у нее есть.Еще раз спасибо за ваше время и терпение, вся помощь, которую я могу получить, очень ценится!

...