0

我希望有一个人可以帮助我。我需要从 MySQL 数据库中提取某些详细信息(“全名和姓氏”、“电子邮件”、“联系电话”),但无法弄清楚如何执行此操作。有问题的应用程序,“Grunion 联系表”用于 Wordpress 保存DB中的数据,以数组的形式,如下:

Array
(
    [Full Name and Surname:] => Sharon Somerset
    [Email] => sharon@x.x.x
    [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 之类的文件中

4

1 回答 1

0

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

<?php
$string = "数组
(
    [全名和姓氏:] => Sharon Somerset
    [电子邮件] => sharon@xxx
    [联系电话:] => 08xxxxxx
    [备用号码] => 011xxxxxx
    [请列出方便的联系时间] =>
    [医疗援助报价] => 是
    [保险报价] =>
    [政策更新] =>
    [朋友的名字和姓氏:] =>
    [朋友的联系电话:] =>
    [你是怎么找到我们的?] => 谷歌
)";


$string = preg_replace("/Array\n\(\n/","",$string);
//删除第一行

$string = preg_replace("/\)$/","",$string);
//删除最后一行

$lines = explode("\n",$string);
//在新行上分割
print_r($lines);

foreach($lines as $l)
{
        preg_match("/\[(.+)\] => (.*)$/",$l,$matches);
        //$matches[1] 将包含标签
        //$matches[2] 将包含该值
        print_r($matches);

}
?>
于 2012-10-23T20:25:47.107 回答