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. 跳转语句之continue

    js里面有两个跳转语句,一个是continue,一个是break.由于这两个跳转语句都是用于循环当中,因此他们也就只能用于while.for.do…while语句中,当然了,break多加一个swit ...

  2. openblas下载安装编译

    编译好的库: https://github.com/JuliaLinearAlgebra/OpenBLASBuilder/releases 源码编译 下载:https://github.com/xia ...

  3. The Xamarin Live Player Unpacked

    It is 2017, and it is almost criminal to say that your app doesn't work on a given mobile platform. ...

  4. poj-2406(kmp水题)

    题意:定义一个a*b=字符串a连接字符串b:给你一个字符串s,问你这个字符串最多能用多少个字符串t连接得到:例如:aaaa=4个a构成: 解题思路:kmp水题,next数组除了查找字串以外最广泛的一种 ...

  5. Nginx用户权限验证管理

    首先需要编译进--with-http_request_model 配置指令:auth_request url | off; #url是指上游服务器地址 context: http/location 备 ...

  6. BZOJ4032[HEOI2015]最短不公共子串——序列自动机+后缀自动机+DP+贪心

    题目描述 在虐各种最长公共子串.子序列的题虐的不耐烦了之后,你决定反其道而行之. 一个串的“子串”指的是它的连续的一段,例如bcd是abcdef的子串,但bde不是. 一个串的“子序列”指的是它的可以 ...

  7. POJ1860-Currency Exchange-判正环

    两种货币的交换可以当成两条边,建图后跑Bellman_ford算法就好了. Bellman_ford算法可以用来处理负边权,所以可以判断是否存在负环.反过来就可以判断是否存在正环. /*------- ...

  8. 自定义Wed框架

    Wed框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端. 这样我们就可以自己实现Web框架了. 半成品自定义wed框架 impor ...

  9. Dynamic CRM 2015学习笔记(1)Azure 上安装 CRM 2015

    今天终于在Azure上安装成功了CRM 2015,下面简单介绍下安装过程,以及出现问题的解决: 一. 配置AD, 安装IIS 参考下面的link,里面有详细的配置步骤 http://www.c-sha ...

  10. markdown语法测试集合

    这篇文章包含markdown语法基本的内容, 目的是放在自己的博客园上, 通过开发者控制台快速选中, 从而自定义自己博客园markdown样式.当然本文也可以当markdown语法学习之用. 在mar ...