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> ​

结果如图:

php解析文本文件呈现在表格上的更多相关文章

  1. jquery通过AJAX从后台获取信息并显示在表格上的类

    前一阵我写了:<jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中.>现在,我把他们处理了一下,不需要每次写代码了: 具体代码如下: //获取数据并显示数据表格 funct ...

  2. jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中

    不想用Easyui的样式,但是想要他的表格功能,本来一开始是要到网上找相关插件的,但是没找到就开始自己写,没想到这么简单. 后台代码:(这个不重要) public ActionResult GetDi ...

  3. 使用PowerShell比较本地文本文件与Web上的文本文件是否相同

    使用PowerShell比较本地文本文件是否相同通常有两种方式:1.通过Get-FileHash这个命令,比较两个文件的哈希是否相同:2.通过Compare-Object这个命令,逐行比较两个文件的内 ...

  4. java解析导入excel表格转为实体类javabean,根据实体类中的中文名称

    最近公司需求解析excel,一开始使用poi做的挺好的,后来直接上了几十万条数据的excel文件,内存直接溢出了,网上查到apache poi还提供了专门处理海量数据的方法,使用sax解析,果然用了内 ...

  5. 简单Excel表格上传下载,POI

    一.废话 Excel表格是office软件中的一员,几乎是使用次数最多的办公软件.所以在java进行企业级应用开发的时候经常会用到对应的上传下载便利办公. 目前,比较常用的实现Java导入.导出Exc ...

  6. Java按位置解析文本文件(使用Swing选择文件)

    工作中遇到这样的一个需求,按位置解析一些文本文件,它们由头部.详情.尾部组成,并且每一行的长度可能不一样,每一行代表的意思也可能不一样,但是每一行各个位置代表的含义已经确定了. 例如有下面这样一段文本 ...

  7. 编写简单的辅助脚本来在 Google 表格上记账

    我的第二份工作入职在即,而这一次则真的是完全跑到了一个陌生的城市了.租房,购置相关用品,还尚未工作钱就花掉一堆.尽管我个人之前一直都没有过记账的习惯,但为了让自己能够搞清楚自己的钱都花在哪里了,于是还 ...

  8. 如何解析本地和线上XML文件获取相应的内容

    一.使用Dom解析本地XML 1.本地XML文件为:test.xml <?xml version="1.0" encoding="UTF-8"?> ...

  9. 解析文本文件 "r" 与 "rb" 模式的区别(Python)

    r,rb 那么在读文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r':默认值,表示从文件读取数据.'b':表示要读写二进制数据 2.读文件 进行读文件操作时,直到读到文档结束符(E ...

随机推荐

  1. spring @Validated 注解开发中使用group分组校验

    之前知道spring支持JSR校验,在自己定义的bean中加入@NotNull,@NotBlank,@Length等之类的校验用于处理前台传递过来的request请求,避免在写多余的代码去处理. 但是 ...

  2. hdu-5536(字典树)

    题意:给你n个数,让你在n个数中选三个,使得(a1+a2)^a3的值最大,a1!=a2!=a3(下标不等于): 解题思路:01字典树可以写,因为数据小,我们可以先把n个数建一颗字典树,然后两边for找 ...

  3. Android组件化、模块化、插件化

    组件:指的是单一的功能组件,如地图组件(MapSDK).扫码组件(QRCode).支付组件(AnjukePay).路由组件(Router)等等: 模块:指的是独立的业务模块,如新房模块(NewHous ...

  4. ElasticSearch查询 第四篇:匹配查询(Match)

    <ElasticSearch查询>目录导航: ElasticSearch查询 第一篇:搜索API ElasticSearch查询 第二篇:文档更新 ElasticSearch查询 第三篇: ...

  5. django-admin和manage.py

    目录 一.Django内置命令选项 check dbshell diffsettings flush makemigrations migrate runserver shell startapp s ...

  6. Xml文件汉化后改变代码页

    源Xml文件代码页为ansi,汉化后要转换为UTF-8,在网上搜素了以下结果,但解释的不都清楚,我找了好一阵才找到相应的操作.   为防止自己以后忘了,补充如下: 经过这样的设置,生成的汉化xml文件 ...

  7. @EnableWebMvc

    1.启用MVC Java config 或 MVC XML namespace 想要启用MVC Java config,只需要将@EnableWebMvc添加到你的一个@Configuration c ...

  8. Django+Xadmin打造在线教育系统(四)

    完成授课机构的功能 模板继承 在templates目录下,新建base.html,剪切org-list.html内容到里面 编写org-list.html内容 继承base.html,将里面的面包屑和 ...

  9. Luogu P4643 【模板】动态dp(矩阵乘法,线段树,树链剖分)

    题面 给定一棵 \(n\) 个点的树,点带点权. 有 \(m\) 次操作,每次操作给定 \(x,y\) ,表示修改点 \(x\) 的权值为 \(y\) . 你需要在每次操作之后求出这棵树的最大权独立集 ...

  10. Linux网络基础-总

    目录 Linux网络基础 一.网卡和数据包的转发 1.收包流程 二.多网卡bonding 三.SR-IOV 四.DPDK 五.TUN/TAP 六.Linux bridge 和VLAN 七.TCP/IP ...