zoukankan      html  css  js  c++  java
  • 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 按照换行拆分,注意这里要用双引号,如果为单引号会将'
    '解析为转义字符
      $lines =explode("
    ",$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>
    
    
    ​

    结果如图:

    虽然现在走得很慢,但不会一直这么慢
  • 相关阅读:
    电信生命周期说明
    find in linux 2 微信公众号
    GDB中应该知道的几个调试方法 2 微信公众号
    linux 下程序员专用搜索源码用来替代grep的软件ack(后来发现一个更快的: rg), 且有vim插件的 2 微信公众号
    linux下的 c 和 c++ 开发工具及linux内核开发工具 2 微信公众号
    linux下命令行发送邮件的软件:mutt 微信公众号
    腺样体肿大的综合治疗考虑 微信公众号
    打呼噜治疗方法 微信公众号
    vim 操作 2 微信公众号
    nginx之外的web 服务器caddy 微信公众号
  • 原文地址:https://www.cnblogs.com/xxm980617/p/10460126.html
Copyright © 2011-2022 走看看