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>
结果如图:

php解析文本文件呈现在表格上的更多相关文章
- jquery通过AJAX从后台获取信息并显示在表格上的类
前一阵我写了:<jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中.>现在,我把他们处理了一下,不需要每次写代码了: 具体代码如下: //获取数据并显示数据表格 funct ...
- jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中
不想用Easyui的样式,但是想要他的表格功能,本来一开始是要到网上找相关插件的,但是没找到就开始自己写,没想到这么简单. 后台代码:(这个不重要) public ActionResult GetDi ...
- 使用PowerShell比较本地文本文件与Web上的文本文件是否相同
使用PowerShell比较本地文本文件是否相同通常有两种方式:1.通过Get-FileHash这个命令,比较两个文件的哈希是否相同:2.通过Compare-Object这个命令,逐行比较两个文件的内 ...
- java解析导入excel表格转为实体类javabean,根据实体类中的中文名称
最近公司需求解析excel,一开始使用poi做的挺好的,后来直接上了几十万条数据的excel文件,内存直接溢出了,网上查到apache poi还提供了专门处理海量数据的方法,使用sax解析,果然用了内 ...
- 简单Excel表格上传下载,POI
一.废话 Excel表格是office软件中的一员,几乎是使用次数最多的办公软件.所以在java进行企业级应用开发的时候经常会用到对应的上传下载便利办公. 目前,比较常用的实现Java导入.导出Exc ...
- Java按位置解析文本文件(使用Swing选择文件)
工作中遇到这样的一个需求,按位置解析一些文本文件,它们由头部.详情.尾部组成,并且每一行的长度可能不一样,每一行代表的意思也可能不一样,但是每一行各个位置代表的含义已经确定了. 例如有下面这样一段文本 ...
- 编写简单的辅助脚本来在 Google 表格上记账
我的第二份工作入职在即,而这一次则真的是完全跑到了一个陌生的城市了.租房,购置相关用品,还尚未工作钱就花掉一堆.尽管我个人之前一直都没有过记账的习惯,但为了让自己能够搞清楚自己的钱都花在哪里了,于是还 ...
- 如何解析本地和线上XML文件获取相应的内容
一.使用Dom解析本地XML 1.本地XML文件为:test.xml <?xml version="1.0" encoding="UTF-8"?> ...
- 解析文本文件 "r" 与 "rb" 模式的区别(Python)
r,rb 那么在读文件时,有无b标识的的主要区别在哪里呢? 1.文件使用方式标识 'r':默认值,表示从文件读取数据.'b':表示要读写二进制数据 2.读文件 进行读文件操作时,直到读到文档结束符(E ...
随机推荐
- telerik reporting报表
Telerik Reporting是一个非常人性化的控件,一个报表的生成几乎不用写代码,都是通过"所见即所得"模式完成.由于客户需要在实际的项目中运用Telerik Reporti ...
- How to helloworld on Xcode
create a mac app,click button to change label text? create project,click left window button on Main. ...
- pycharm中查看源码的快捷键
将光标移动至要查看的方法处,按住ctrl 点击鼠标左键,即可查看该方法的源码
- winFormToMysql&&几个控件的数据绑定
运行图: 代码: private void button1_Click(object sender, EventArgs e) { string str = "database=csharp ...
- mysql 测试php连接问题
<?php$servername = "shuhua.dbhost";$username = "shuhua_user";$password = &quo ...
- visual studio 显示引用关系 作者更改项
visual studio 2017中,每个类或者方法顶部会显示此方法的引用关系或者作者更改项:这个功能极大了提高了我们代码的定位效率:不过有时候却发现每一行代码都有,会增加我们屏幕显示内容,有时候看 ...
- Codeforces Round #530 (Div. 2) A,B,C,D
A. Snowball 链接:http://codeforces.com/contest/1099/problem/A 思路:模拟 代码: #include<bits/stdc++.h> ...
- Java的equals方法,首先要判断类型是否相同
如下代码,Long 和Integer 进行比较: Integer aa = 1; Long bb= 1L; System.out.println(aa.equals(bb)); 输出为:false 查 ...
- 修改KVM的模拟网卡类型
修改KVM的模拟网卡类型 来源 https://www.cnblogs.com/EasonJim/p/9751051.html 在KVM下可以生成两种型号的网卡,RTL8139和E1000,其实应该是 ...
- jQuery 方式模拟提交表单
//add test moudle define(function(require , exports , module) { //=========== 不使用模块化只使用如下代码即可 start ...