2012-10-23 20 views
0

我希望有人能帮助我。我需要从MySQL数据库中提取某些细节(“全名和姓氏”,“电子邮件”,“联系电话号码”),但无法弄清楚如何执行此操作。有问题的应用程序“用于Wordpress保存的Grunion联系表单”在数据库中的数据,在数组中,如下所示:如何从xml表中提取数组变量?

Array 
(
    [Full Name and Surname:] => Sharon Somerset 
    [Email] => [email protected] 
    [Contact Number:] => 08xxxxxx 
    [Alternative Number] => 011xxxxxx 
    [Please list convenient time to be contacted] => 
    [Medical Aid Quote] => Yes 
    [Insurance Quote] => 
    [Policy Update] => 
    [Friend's Name and Surname:] => 
    [Friend's Contact Number:] => 
    [How did you find us?] => Google 
) 

每个条目是在它自己的数据库行,里面的“LONGTEXT”字段

我怎么能轻易提取“全名和姓”。 ,“电子邮件”,“联系电话”数据从这样几千行,并重新保存在一个简单的表或CSV文件导入到像phplist

回答

0

这应该让你开始 - 它的简单的正则表达式匹配文本字段。这需要一段时间才能完成 - 但它能满足您的需求。

 
<?php 
$string = "Array 
(
    [Full Name and Surname:] => Sharon Somerset 
    [Email] => [email protected] 
    [Contact Number:] => 08xxxxxx 
    [Alternative Number] => 011xxxxxx 
    [Please list convenient time to be contacted] => 
    [Medical Aid Quote] => Yes 
    [Insurance Quote] => 
    [Policy Update] => 
    [Friend's Name and Surname:] => 
    [Friend's Contact Number:] => 
    [How did you find us?] => Google 
)"; 


$string = preg_replace("/Array\n\(\n/","",$string); 
//remove first line 

$string = preg_replace("/\)$/","",$string); 
//remove last line 

$lines = explode("\n",$string); 
//split on new lines 
print_r($lines); 

foreach($lines as $l) 
{ 
     preg_match("/\[(.+)\] => (.*)$/",$l,$matches); 
     //$matches[1] will contain the label 
     //$matches[2] will contain the value 
     print_r($matches); 

} 
?> 
+0

感谢名单野人民88 对不起,我想我最初的问题是不够准确。我有一个包含几千个文件的文件(我不知道有多少是由于Excel的显示方式),具有不同的客户端细节,我只需提取客户端的联系人详细信息。 –

+0

好的 - 我想让你开始正确的方向,而不是为你做所有的工作。使用上面的代码,您应该能够解析来自任何源的所有信息并使用该数据填充另一个文件。 –

相关问题