我可以拆分此字符串以获得所需的信息吗?

时间:2019-05-14 11:41:07

标签: php regex database string split

我得到了这个项目,用户可以在其中填写表格来解决与工作相关的问题,并要求我从每个人那里获得填写的信息,以便他们可以看到他们发送的所有表格,但仅此而已存储在一个数据库列中,我不确定是否能够拆分此长字符串。

首先,这是保存到数据库中的字符串:

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 S.L。”
  • “电子设备展览会”
  • “ calle falsa 123”
  • “ 555555555”
  • “阿尔瓦罗”
  • “ Probando”
  • comunicacion1和comunicacion2(在本例中均为空)
  • 以下所有nom和cont字段

我已经尝试过多次分解字符串,但是这样做没有很好的分隔符,在这一点上,我认为我已经尝试了:的所有可能组合: _“”

<?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++;
    }
?>

这是我最近的一个,但是如您所见,仍然有很多信息未出现在最终字符串中

我对正则表达式了解不多,我尝试创建一个正则表达式,但是我不太了解语法,也不知道这个字符串是否可以拆分成带有所有标点符号的字符串。 再次感谢您的时间和耐心,我所能获得的所有帮助都非常感谢!

1 个答案:

答案 0 :(得分:0)

如建议的那样,解决方案是对字符串应用unserialize()方法,将其有效地转换为数组。