PHP案例学习

PHP案例学习

一.案例的要求

将如下的文本文档用PHP写到网页上,具体页面效果见下图。

文本文档:( 文档名称 names.txt )
文本文档
页面效果:( 要求点击蓝色链接会跳转链接 )
在这里插入图片描述

二.完成案例的方法

思路:

1.首先将 txt 文本文件里面的内容读取到一个字符串里面,再对字符串进行处理

2.对字符串进行拆分,拆成一个一个的小元素,再依次进行输出

详细步骤:

1.读取文件内容

$text = file_get_contents('names.txt');

把文件内容存储到 $text 变量里面

2.将文本按行进行拆分,定义一个数组接收所有元素

$lines = explode("\n", $text);//根据换行拆分文本

把一行行的元素储存到 $lines 里面

3.再拆分行元素,定义一个二维数组接收拆分结果

foreach ($lines as $keys) {
    if (!$keys) continue;//这里是处理最后一行的空行
    $cols = explode('|', $item);//根据|拆分文本
    $data[] = $cols;
  }

4.HTML构造网页结构

<!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
     <tr>
       <td></td>
     </tr>
    </tbody>
  </table>
</body>
</html>

5.遍历 $data 里面的每个数组元素,每个数组元素是一行,写在 tbody 里面

<?php foreach ($data as $line): ?>

6.遍历 $line 里面的每一个元素,每个元素是一行中的每个板块,写在 tr 里面

<?php foreach ($line as $clo): ?>

7.对 $clo 中每个元素进行处理,如需要去掉空格

<?php $col = trim($clo); ?>

8.判断元素是不是一个网址,若是网址,则需要改成小写字母并创建链接,并把链接去掉 http:// ,不是网址,则原样输出

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

9.整体代码如下:

<?php 
 $text=file_get_contents('names.txt');
 $lines=explode("\n",$text);
 foreach($lines as $keys){
    if(!$keys) continue;
    $clos=explode('|',$keys);
    $data[]=$clos;
 }
?>

<!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): ?>
                <tr>
                    <?php foreach ($line as $clo): ?>
                        <?php $clo=trim($clo); ?>
                        <?php if(strpos($clo,'http://')===0) : ?>
                            <td><a href="<?php echo strtolower($clo); ?>"><?php echo substr($clo,7) ;?></a></td>
                        <?php else : ?>
                            <td><?php echo $clo; ?></td>
                        <?php endif; ?>
                    <?php endforeach; ?>
                </tr>
            <?php endforeach;?>
        </tbody>           
    </table>
</body>
</html>

三.学到的tips

1.首先是学到的函数

file_get_contents(‘文件名称’)读取外部文件的内容
explode(“分割的标志”/‘分割的标志’,要分割的变量)把字符串按照规定内容切开
trim(待处理的变量)去掉字符串里面的空格
strtolower (待处理的变量)把大写字母转为小写字母
substring(待处理的变量,切割掉前几位数字)切掉字符串前多少位的元素

2.注意

1.explode分割如果有 \n 等特殊转义符号,注意要用双引号,因为单引号不能识别特殊转义符号

2.写遍历的位置,如案例,要遍历每一行,就把遍历代码写到行元素 tr 上面,遍历一行中的各个元素,就把遍历代码写到行内元素 td 上面。同时要注意结束遍历 endXX 的位置。

写在最后

在这里插入图片描述

慢也好,步子小也好,只要在往前走就好了~
和小舒一起努力啊~

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值