Rumah >pembangunan bahagian belakang >tutorial php >foreach - PHP 导入文本文件的正则表达式提取部分内容 变成数组 然后存入到mysql数据库中

foreach - PHP 导入文本文件的正则表达式提取部分内容 变成数组 然后存入到mysql数据库中

WBOY
WBOYasal
2016-06-06 20:49:461075semak imbas

想使用PHP正则表达式读取下面的文本文件,将date,time读取 并加上当前的年 写成: 2013-07-03 17:22,还有NMBR的电话号码读出,并生成一个循环的mysql语句 并存入到mysql数据库中.

<code>RING

RING

DATE = 0703 

TIME = 1722
NMBR = 13332415858

RING

RING

DATE = 0704 

TIME = 0812 

NMBR = 04124834444

RING

RING
</code>

变成:

<code>insert into calllog (datetime,phonenumber ) values ('2013-07-03 17:22','13332415858');
insert into calllog (datetime,phonenumber ) values ('2013-07-04 08:12','04124834444');
</code>

回复内容:

想使用PHP正则表达式读取下面的文本文件,将date,time读取 并加上当前的年 写成: 2013-07-03 17:22,还有NMBR的电话号码读出,并生成一个循环的mysql语句 并存入到mysql数据库中.

<code>RING

RING

DATE = 0703 

TIME = 1722
NMBR = 13332415858

RING

RING

DATE = 0704 

TIME = 0812 

NMBR = 04124834444

RING

RING
</code>

变成:

<code>insert into calllog (datetime,phonenumber ) values ('2013-07-03 17:22','13332415858');
insert into calllog (datetime,phonenumber ) values ('2013-07-04 08:12','04124834444');
</code>

<code><?php //date_default_timezone_set('Asia/Shanghai');
$t = file_get_contents('log.txt');
$c = preg_match_all('/= (.*?)$/m', $t, $m);
$sql = array();
for($i=0;$i<$c;$i+=3) {
    $d = date('Y-m-d H:i', strtotime('2013'.trim($m[1][$i]).trim($m[1][$i+1])));
    $n = $m[1][$i+2];
    //replace the next code with yours
    $sql[] = "INSERT INTO calllog (date,phonenumber) VALUES ('$d', '$n')";
}
</code></code>
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn