Use PHP to automatically convert plain text to Web pages

Source: Internet
Author: User

Recently, an old friend of mine called me for help. He has been a journalist for many years and recently gained the right to re-publish many of his early columns. He wants to paste his work on the Web, but his column is saved in plain text files, moreover, he does not have time or want to learn HTML knowledge to convert them into Web pages. He called me to see if I could help him because I was the only computer proficient in his phone book.

"Let me handle it," I said. "I will call me in an hour ." Of course, when he calls me a few hours later, I have prepared a solution for him. This requires a little bit of PHP, And I have gained endless thanks and a box of red wine.

So what have I done in this hour? This is the content of this article. I will show you how to use PHP to quickly convert plain ASCII text into readable HTML tags.

First, let's look at an example of a plain text file that my friend wants to convert:

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 comment ation team indicate a high presence of your rophyll in the atmosphere. parameter rophyll, 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. rusel Bunter, the head of ASDA's Mars Colonization Project blah...

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

Track follow-ups to this story online at ', $ html );

// Start building output page
// Add page header
$ Output = <HEADER





HEADER;

// Add page content
$ Output. = "$ slug ";
$ Output. = "By $ byline

";
$ Output. = "$ html ";

// Add page footer
$ Output. = <FOOTER


FOOTER;

// Display in browser
Echo $ output;

// AND/OR

// Write output to a new. html file
File_put_contents (basename ($ source,

Substr ($ source, strpos ($ source, '.'). ". html", $ output)

Or die ("Cannot write file ");
?>

The first step is to read the plain ASCII file into a PHP array. This can be done easily through the file () function, which converts each row of the file into an element in an array indexed by numbers.

Then, the title and the author line (I suppose both are the first two lines of the file) are extracted from the array through the array_shift () function and put in a separate variable. The remaining members of the array are connected into a string. This string now includes the body of the entire article.

Special characters such as "'", "<", and ">" in the text are converted to corresponding HTML characters through the htmlspecialchars () function. To retain the original format of the article, the branch and segment are converted to HTML elements through the nl2br () function. Multiple spaces in the article are compressed into one space by simple string replacement.

The URL in the body of the article is detected using a regular expression, with elements on both sides. When the page is displayed in a Web browser, it converts the URL to a clickable hyperlink.

Then, use standard HTML rules to create the output HTML page. The title, author, and text of the article are all formatted using CSS style rules. Although this script does not, you can customize the final page appearance in this place. You can add graphic elements, colors, or other dazzling content to the template.

Once the HTML page is built, it can be sent to a browser or saved as a static file using file_put_contents. To guarantee this, the original file name will be decomposed while the new file name (called filename.html) will be created for the newly created Web page. Then you can publish the Web page to the Web server, save it to the CD, or edit it further.

Note: When using this script to create and save HTML files to the disk, make sure that this script has the write permission on the directory where the files are stored.

As you can see, if you have standard ASCII plain text data files, you can use PHP to quickly convert them into usable Web pages. If you already have a Web site and plan to add a new Web page, it is quite easy to debug the template used by the page builder to adapt it to the appearance of the original Web site. Try it yourself!


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.