首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP安装/语法/函数 » [求助]如何格式化字符窜????  


  作者:caonibb
  注册时间:2004-07-17
  主题/回复:25/29
  积分:554
  等级:★★★(六级)
  称号:声名鹊起

  love23350369@163..
  174224060
  www.

 

 发表:2005-10-25 08:30:02 阅读 2846 次 回复 2 次 得分1  |   字号 字色
[求助]如何格式化字符窜????
老师:
    您好,我碰到一个这样的问题。我朋友的一个网站www.1717go.net
在他的网站上有很多购物网站的广告(盈利的一种方式)。当有会员点击广告,并且下了定单都会有第三方公司提供这样的数据(一个文本文件“http://www.linktech.cn/AC/report_txt/webshu_1021_report.txt”)
例如文本文件的内容为:
dangdang 117344998 2005.10.21 21:59 1 1 10.00 10.00 1.20 未核对 <?echo $windid;?>
很明显这是很不规范的数据,我想用explode函数进行分割,可是不成功
(因为文本文件的间隔的空格不规范)我想把字符窜中的数据分别都提取出来应该怎么做。(字符窜的长度不是固定的不能用substr函数)

我是想把数据提取出来 插入数据库 例如上面这个字符窜我想这样得到这样的结果:
网站  dangdang(有可能是其他网站的名称)  
定单号    117344998
下单时间  2005.10.21 21:59
数量  1
单价  10.00
金额  1.20
是否审核  未核对
会员ID    <?echo $windid;?>

我想知道 我怎么样才可以将字符窜中的 字符都提取出来 象上面的样子插入数据库呢?
请速回 我朋友 11月就要启动网站了 他找了我  我不想耽误了他的事 还显的我不好。请老师帮忙解决~~~~~~~~~~~!!!!!
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2005-10-25 16:58:22  评分:1 

既然文本文件的内容格式是固定的,没有什么规律,那也没法用动态的方法分开,也得用手工方法。

文本文件看起来虽然不能直接用explode()函数分割,但是可以用explode()函数加手工的方法来实现。因为文本文件中只有2个地方的分割不合适,一个是“2005.10.21 21:59”,一个是<?echo $windid;?>,这两条语句中间的空格是多余的。既然我们知道它的位置,就可以用手工的方法再将它们合并起来。
首先用explode函数将字符串切割,放入数组$arr[]得到如下结果:
$arr[0] ->dangdang
$arr[1] ->117344998 
$arr[2] ->2005.10.21 
$arr[3] ->21:59 
$arr[4] ->1 
$arr[5] ->1 
$arr[6] ->10.00 
$arr[7] ->1.20 
$arr[8] ->未核对 
$arr[9] -><?echo 
$arr[10] ->$windid;?>

有了这样的结果,将这个数组中想要的数据插入到数据库中就很容易呀.比如想插入时间,那就是 $arr[2]." ".$arr[3] ,这样就获得了时间。至于会员ID,则直接代入$windid这个变量。
 2#楼  
 
  回复人:caonibb
  注册时间:2004-07-17
  主题/回复:25/29
  积分:554
  等级:★★★(六级)
  称号:声名鹊起

   
 2#楼 发表于2005-10-25 22:41:04  评分:× 

<?php
$fd = fopen("http://www.linktech.cn/AC/report_txt/webshu_1021_report.txt", "r");
while ($buffer = fgets($fd, 4096)) {
  $ccc=explode(" ",$buffer);
  //$ss=$ccc[0];
  echo $ccc[0]."<br>";
  echo $ccc[1]."<br>";
  echo $ccc[2]."<br>";
}
fclose($fd);
?> 
为什么我分割的时候数组的长度只有3,老师您是怎么把他分成11份的。请快回复。救急啊~~~~~~~~~~~~~~~~~~~!!!
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.006sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版