PHP包含文件的特定部分

时间:2011-06-22 02:41:40

标签: php html

我有一个主页index.php。我有两篇文章,例如:article1.php和article2.php。

在我的主页上,我想展示我的两篇文章的预览。但由于这些文章太长,我只想展示一篇文章的5行(或100个字符或其他解决方案)。在文章的这些第一行之后,它将以“...”结尾,并且这些行链接到实际的文章页面; article1.php或article2.php

我想这应该是一个非常简单的事情,显示我正在使用代码“include”导入的文本的一部分。顺便说一下,我不包括文本文件。它是article1.php,因此代码必须忽略其他所有内容,例如标题,照片与必须只关注文本的第一行。

有什么建议吗?

2 个答案:

答案 0 :(得分:5)

如果您的article1.php文件包含整个页面,包括HTML标题和(显然)某些PHP代码,这实际上不是一个理想的起点。您应该将文章(只是原始文章文本)存储在单独的文件中。然后在不同的地方重用它的不同部分很简单:

article1.txt

<p>Lorem ipsum.</p>
<p>Foobar baz.</p>

article1.php

<html>
<head>
    ...
</head>
<body>
   ...
   <?php include 'article1.txt'; ?>
   ...
</body>

的index.php

<html>
<head>
    ...
</head>
<body>
   ...
   <?php
       $article1 = file_get_contents('article1.txt');
       echo substr(strip_tags($article1), 0, 100) . '...';
  ?>
  <a href="article1.php">Read more</a>
   ...
</body>

通过自动浏览文章目录中的所有 .txt 文件并输出这些链接,您甚至可以自动生成 index.php 上的链接。将文章存储在数据库中会使其更加灵活。继续沿着这些方向,你几乎要重新发明CMS,所以你可能想要考虑使用Wordpress或类似的系统。

答案 1 :(得分:2)

<?php

    $article1 = file_get_contents("article1.php");

    echo substr(strip_tags($article1), 0, 100) . "...";

?>