php解析文本文件呈现在表格上

name.txt如下

1 | 朱芳 | 18 | b.unyrl@tpwpqt.st | http://XEP.VC
2 | 康丽 | 22 | e.ifmc@fyvutpzio.pro | http://WSURR.PH
3 | 沈平 | 34 | m.vvnjhv@npiqo.tk | http://BGEGFBTEP.KH
4 | 吴平 | 19 | v.rjlo@ljjuit.sc | http://FOQMVET.ST
5 | 邵涛 | 20 | k.pmemrobuq@skt.name | http://JOQQ.TM
6 | 廖磊 | 14 | y.xoxbk@vgdsctz.mz | http://XGDWPM.NET
7 | 文敏 | 12 | o.fwmvfirdm@yfw.mx | http://MUPT.SL
8 | 罗平 | 32 | s.sxohwsf@bpcvf.lk | http://ADEBOQ.BN
9 | 林芳 | 18 | p.vozfcy@ntti.info | http://NQXWELT.LC
10 | 黎超 | 39 | q.decxs@wzotsllfj.cn | http://RFTTUKOK.RW

分析:

最终目标将.txt里面的内容呈现在表格中

第一步:读取文件内容------------------->包含文本内容的字符串数据

第二步:解析文件中的内容------------->得到数组

第三步通过混编的方式将数据呈现在表格

代码:

​
<?php 
//1.读取文件内容
$contents = file_get_contents('names.txt');

//2.按照一定的规则解析
//2.1 按照换行拆分,注意这里要用双引号,如果为单引号会将'\n'解析为转义字符
  $lines =explode("\n",$contents);
  var_dump($lines);   //做完一步先小测试一下,看看是否有数据
//2.2 还要将上面得到的按竖线拆分
  foreach ($lines as $item) {
  	//因为最后一行是空格行,要处理空格行
  	if ($item=="") continue;

   // 1 | 朱芳 | 18 | b.unyrl@tpwpqt.st | http://XEP.VC
   // |是我们不需要的,还要按竖线拆分
  	$cols =explode('|', $item);
  	$data[]=$cols;//将每次得到的存放到一个数组中
  }
?>

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>全部人员信息表</title>
</head>
<body>
	<h1>全部人员信息表</h1>
	<table>
		<thead>
		<tr>
			<th>编号</th>
			<th>姓名</th>
			<th>年龄</th>
			<th>邮箱</th>
			<th>网址</th>
		</tr>
	    </thead>
	    <tbody>
		<?php foreach ($data as $line): ?>  //第一层遍历上面的$data数组
			<tr>
				<?php foreach ($line as $col): ?>//第二层遍历$data数组里面的数组
				<?php $col=trim($col); ?>   //由于得到的每个列,前后都有空格,先处理掉空格
				<?php if(strpos($col, 'http://')===0): ?> //单独处理最后一列,
					<td><a href="<?php echo strtolower($col); ?>"><?php echo substr($col, 7); ?></a></td>   //将大写转化为小写
				<?php else: ?>
					<td><?php echo $col; ?><td>//其他按照普通输出
				<?php endif ?>	
				<?php endforeach ?>	
			</tr>
			 <?php endforeach ?>
	    </tbody>
	</table>
</body>
</html>


​

 

结果如图:

转载于:https://www.cnblogs.com/xxm980617/p/10460126.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值