2012-10-23 52 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

好的 - 我想讓你開始正確的方向,而不是爲你做所有的工作。使用上面的代碼,您應該能夠解析來自任何源的所有信息並使用該數據填充另一個文件。 –

相關問題