用PHP脚本自动把纯文本文件转换成Web页面

最近,我的一个老朋友向我打电话求助。他从事记者的职业有多年了,最近获得了重新出版他的很多早期专栏的权利。他希望把他的作品贴在Web上;但是他的专栏都是以纯文本文件的形式保存的,而且他既没有时间也不想去为了把它们转换成为Web页面而学习HTML的知识。由于我是他电话本里唯一一个精通计算机的人,所以他打电话给我看我是否能够帮帮他。

“让我来处理吧,”我说:“一个小时以后再给我打电话。”当然了,当他几个小时以后打电话过来,我已经为他预备好了解决的方法。这需要用到一点点PHP,而我收获了他没完没了的感谢和一箱红酒。

那么我在这一个小时里做了些什么呢?这就是本篇文章的内容。我将告诉你如何使用PHP来快速将纯ASCII文本完美地转换成为可读的HTML标记。

首先让我们来看一个我朋友希望转换的纯文本文件的例子:

Green for Mars!
John R. Doe

The idea of little green men from Mars, long a staple of science fiction, may soon turn out to be less fantasy and more fact.

Recent samples sent by the latest Mars exploration team indicate a high presence of chlorophyll in the atmosphere. Chlorophyll, you will recall, is what makes plants green. It's quite likely, therefore, that organisms on Mars will have, through continued exposure to the green stuff, developed a greenish tinge on their outer exoskeleton.

An interview with Dr. Rushel Bunter, the head of ASDA's Mars Colonization Project blah blah...

What does this mean for you? Well, it means blah blahblah...

Track follow-ups to this story online at http://www.mars-connect.dom/. To see pictures of the latest samples, log on to http://www.asdamcp.dom/galleries/220/

相当标准的文本:它有一个标题、一个署名和很多段的文字。把这篇文档转换成为HTML真正需要做的是使用HTML的分行和分段标记把原文的布局保留在Web页面上。非凡的标点符号需要被转换成为对应的HTML符号,超链接需要变得可以点击。

下面的PHP代码(列表A)就会完成上面所有的任务:

列表A

<?php
// set source file name and path
$source = "toi200686.txt";

// read raw text as array
$raw = file($source) or die("Cannot read file");

// retrieve first and second lines (title and author)
$slug = array_shift($raw);
$byline = array_shift($raw);

// join remaining data into string
$data = join('', $raw);

// replace special characters with HTML entities
// replace line breaks with <br />
$html = nl2br(htmlspecialchars($data));

// replace multiple spaces with single spaces
$html = preg_replace('/ss /', ' ', $html);

时间: 2024-07-30 04:10:37

用PHP脚本自动把纯文本文件转换成Web页面的相关文章

用PHP实现自动把纯文本转换成Web页面

最近,我的一个老朋友向我打电话求助.他从事记者的职业有多年了,最近获得了重新出版他的很多早期专栏的权利.他希望把他的作品贴在Web上;但是他的专栏都是以纯文本文件的形式保存的,而且他既没有时间也不想去为了把它们转换成为Web页面而学习HTML的知识.由于我是他电话本里唯一一个精通计算机的人,所以他打电话给我看我是否能够帮帮他. "让我来处理吧,"我说:"一个小时以后再给我打电话."当然了,当他几个小时以后打电话过来,我已经为他准备好了解决的方法.这需要用到一点点PH

用PHP自动把纯文本转换成Web页面

  最近,我的一个老朋友向我打电话求助.他从事记者的职业有多年了,最近获得了重新出版他的很多早期专栏的权利.他希望把他的作品贴在Web上;但是他的专栏都是以纯文本文件的形式保存的,而且他既没有时间也不想去为了把它们转换成为Web页面而学习HTML的知识.由于我是他电话本里唯一一个精通计算机的人,所以他打电话给我看我是否能够帮帮他. "让我来处理吧,"我说:"一个小时以后再给我打电话."当然了,当他几个小时以后打电话过来,我已经为他准备好了解决的方法.这需要用到一点点

自动把纯文本转换成Web页面的php代码_php技巧

首先让我们来看一个我朋友希望转换的纯文本文件的例子: 以下为引用的内容: 复制代码 代码如下: Green for Mars! John R. Doe The idea of little green men from Mars, long a staple of science fiction, may soon turn out to be less fantasy and more fact. Recent samples sent by the latest Mars explorati

免费程序IcoMoon:把矢量图转换成Web字体

文章描述:在这篇教程中,我们将看看如何使用一个免费的Web应用程序IcoMoon将矢量图转换成Web字体.然后在看看如何使用生成的字体通过css应用到Web页面中. 我已经制为网站制作了一些优雅的图标,并且在新的网站和老的iPad上进行了测试.正常尺寸下,布局看看上去一切OK,但的将页面进行放大显示,我却发现我的icon变得模糊不清,但是基于文本的标题依然清晰可见.在具有Retina显屏的iPad上,这些图标看上去都不清晰,即使在没有进行任何放大的情况之下. 我第一想法就是创建双倍大小的Spri

使用Axis2和JiBX将Java类转换成Web服务,第2部分

使用Axis2和JiBX将Java类转换成Web服务,第2部分: 把XML转换成功能全面的Web服务 本文配套源码 简介 Apache Axis2 提供了好几种 XML 解决方案,可以轻松的开发功能强大的 Web 服务.Axis2 是实现 Web 服务的一个非常不错的选择.由于 Apache Axis2 和 Apache Geronimo duo 是免费而且开放源码的,因此可以考虑使用这两者. 在本系列的前一部分中,我向您介绍了在本系列两篇文章中使用到的 Java 类.我们通过 WSDL 将这些

使用Axis2和JiBX将Java类转换成Web服务,第1部分

使用Axis2和JiBX将Java类转换成Web服务,第1部分: 使用XML通过Java类定义Web服务 本文配套源码 简介 Web 服务在日常开发中重要性与日俱增,Axis2 也成为了倍受人们欢迎的开发Web 服务的开放源码平台.Axis2 使用Java 语言编写,它能利用了 JiBX(一种框架,用于将XML和Java绑定在一起)的自由性.假设您有一个含有大量 Java 类和数据结构的 Java 项目,而且不想打乱或者更改它们.JiBX 会帮助您实现这一切,它把在 Axis2 中使用的 XML

如何把你的图标转换成WEB字体

  我已经制为网站制作了一些优雅的图标,并且在新的网站和老的iPad上进行了测试.正常尺寸下,布局看看上去一切OK,但的将页面进行放大显示,我却发现我的icon变得模糊不清,但是基于文本的标题依然清晰可见.在具有Retina显屏的iPad上,这些图标看上去都不清晰,即使在没有进行任何放大的情况之下. 我第一想法就是创建双倍大小的Sprite图,然后通过css样式,设置他们只显示二分之一尺寸.虽然这样的方法让他们在Retina屏上显示的大小是正常的,一旦你开始放大屏幕,图标又变得模糊不清.但文本还

将aspx页面转换成html页面的例子.

问题描述 将aspx页面转换成html页面的例子.<!--main.aspx--><%@pagelanguage="C#"%><%@importnamespace=System.IO%><scriptrunat="server">protectedoverridevoidOnInit(EventArgse){ intid; try { id=int.Parse(Request.QueryString["id&

jsp实现将动态网页转换成静态页面的方法_JSP编程

本文实例讲述了jsp实现将动态网页转换成静态页面的方法.分享给大家供大家参考.具体如下: 如果我可以将jsp动态网页转换成静态页面,那么访问的时候就不需要频繁的访问数据库了. jsp 显示内容缓存技巧 前段时间做自己社区的论坛,在jive 的基础上做一个页面显示所有论坛的帖子,可以称之为总版,模仿forum 类的接口做个superforum 并且实现cachable,不过因为这个页面刷新量比较大,虽然被cache 了,我还是想办法进行页面的缓存,感觉用jsp 产生的html静态内容当缓存,页面访