成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

用PHP自動(dòng)把純文本轉(zhuǎn)換成Web頁面

瀏覽:47日期:2024-02-12 15:57:10

最近,我的一個(gè)老朋友向我打電話求助。他從事記者的職業(yè)有多年了,最近獲得了重新出版他的很多早期專欄的權(quán)利。他希望把他的作品貼在Web上;但是他的專欄都是以純文本文件的形式保存的,而且他既沒有時(shí)間也不想去為了把它們轉(zhuǎn)換成為Web頁面而學(xué)習(xí)HTML的知識。由于我是他電話本里唯一一個(gè)精通計(jì)算機(jī)的人,所以他打電話給我看我是否能夠幫幫他。

“讓我來處理吧,”我說:“一個(gè)小時(shí)以后再給我打電話。”當(dāng)然了,當(dāng)他幾個(gè)小時(shí)以后打電話過來,我已經(jīng)為他準(zhǔn)備好了解決的方法。這需要用到一點(diǎn)點(diǎn)PHP,而我收獲了他沒完沒了的感謝和一箱紅酒。

那么我在這一個(gè)小時(shí)里做了些什么呢?這就是本篇文章的內(nèi)容。我將告訴你如何使用PHP來快速將純ASCII文本完美地轉(zhuǎn)換成為可讀的HTML標(biāo)記。

首先讓我們來看一個(gè)我朋友希望轉(zhuǎn)換的純文本文件的例子:

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/

相當(dāng)標(biāo)準(zhǔn)的文本:它有一個(gè)標(biāo)題、一個(gè)署名和很多段的文字。把這篇文檔轉(zhuǎn)換成為HTML真正需要做的是使用HTML的分行和分段標(biāo)記把原文的布局保留在Web頁面上。特殊的標(biāo)點(diǎn)符號需要被轉(zhuǎn)換成為對應(yīng)的HTML符號,超鏈接需要變得可以點(diǎn)擊。

下面的PHP代碼(列表A)就會完成上面所有的任務(wù):

列表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);

// replace URLs with <a href...> elements $html = preg_replace('/s(w+://)(S+)/', ' <a href='http://www.piao2010.com/bcjs/21836.html' target='_blank'></a>', $html);

// start building output page // add page header $output =<<< HEADER <html> <head> <style> .slug {font-size: 15pt; font-weight: bold} .byline { font-style: italic } </style> </head> <body> HEADER;

// add page content $output .= '<div class='slug'>$slug</div>'; $output .= '<div class='byline'>By $byline</div><p />'; $output .= '<div>$html</div>';

// add page footer $output .=<<< FOOTER </body> </html> 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'); ?>

第一步是把純ASCII文件讀取到一個(gè)PHP數(shù)組里。這通過file()函數(shù)很容易就可以完成,這個(gè)函數(shù)會把文件的每一行都轉(zhuǎn)換成為一個(gè)用數(shù)字索引的數(shù)組中的元素。

然后,標(biāo)題和作者行(我假設(shè)這兩個(gè)都是文件的前兩行)都通過array_shift()函數(shù)從數(shù)組里提取出來,放到單獨(dú)的變量里。數(shù)組剩下的成員然后被連接成一個(gè)字符串。這個(gè)字符串現(xiàn)在就包括了整篇文章的正文。

文章正文里像“'”、“<”和“>”這樣的特殊符號通過htmlspecialchars()函數(shù)被轉(zhuǎn)換成相應(yīng)的HTML符號。為了保留文章的原始格式,分行和分段通過nl2br()函數(shù)被轉(zhuǎn)換成HTML的元素。文章中間多個(gè)空格通過簡單的字符串替換被壓縮成為一個(gè)空格。

文章正文里的URL用正則表達(dá)式來檢測,兩邊是元素。當(dāng)頁面在Web瀏覽器里顯示的時(shí)候,它會把URL轉(zhuǎn)換成為可點(diǎn)擊的超鏈接。

然后用標(biāo)準(zhǔn)的HTML規(guī)則創(chuàng)建輸出的HTML頁面。文章的標(biāo)題、作者和正文都用CSS樣式規(guī)則格式化。盡管這段腳本沒有這樣做,但是你可以在這個(gè)地方自定義最終頁面的外觀,你可以向模板添加圖形元素、顏色或者其他眩目的內(nèi)容。

一旦HTML頁面構(gòu)建完成,它就可以被送到瀏覽器或者用file_put_contents()保存為靜態(tài)文件。要注意的是,在保存的時(shí)候,原來的文件名會被分解,一個(gè)新的文件名(叫做filename.html)會為新創(chuàng)建的Web頁面創(chuàng)建。你然后就可以把這個(gè)Web頁面發(fā)布到Web服務(wù)器上、保存到光盤上或者對它進(jìn)行進(jìn)一步編輯。

注意:在使用這個(gè)腳本創(chuàng)建和保存HTML文件到磁盤的時(shí)候,你要確保這個(gè)腳本對文件保存的目錄有寫權(quán)限。

正如你看到的,假如你有標(biāo)準(zhǔn)格式的ASCII純文本數(shù)據(jù)文件,你可以相當(dāng)迅速用PHP把它轉(zhuǎn)換成為可使用的Web頁面。如果你已經(jīng)有了一個(gè)Web網(wǎng)站,并計(jì)劃把新的Web頁面加入進(jìn)來,那么調(diào)試頁面生成器所使用的模板,使之適應(yīng)原有Web網(wǎng)站的外觀是相當(dāng)容易的。你自己試試看!

標(biāo)簽: PHP
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
日韩国产精品久久久| 亚洲第一福利视频在线| 5566中文字幕一区二区电影| 精品日产卡一卡二卡麻豆| 久热成人在线视频| 色偷偷久久人人79超碰人人澡| 色就色 综合激情| 五月天激情综合网| 欧美日韩一区小说| 一区二区三区**美女毛片| 国内精品国产三级国产a久久| 精品精品国产高清一毛片一天堂| 日韩午夜一区| 国产欧美一区二区精品忘忧草| 五月天激情综合| 欧美国产先锋| 在线综合+亚洲+欧美中文字幕| 欧美高清精品3d| 亚洲最黄网站| 97se狠狠狠综合亚洲狠狠| 亚洲青色在线| 国产精品视频免费观看| 99综合在线| 日韩一区二区三区视频| 国产精品一区二区男女羞羞无遮挡 | 国产欧美日本一区二区三区| 亚洲成人精品一区| 欧美日韩 国产精品| 日韩午夜电影在线观看| 日韩精品电影在线观看| 亚洲国产一区二区三区a毛片| 26uuu久久天堂性欧美| 久久99在线观看| 免费看亚洲片| 日韩毛片在线免费观看| 91美女福利视频| 日韩午夜av电影| 国产一区二三区好的| 欧美伊人久久久久久久久影院 | 日本女优在线视频一区二区| 国产一区二区中文| 精品va天堂亚洲国产| 久久国产夜色精品鲁鲁99| 一区二区国产在线观看| 亚洲六月丁香色婷婷综合久久 | 最近看过的日韩成人| 欧美成人r级一区二区三区| 日韩精品午夜视频| 伊人成人在线视频| 欧美国产一区二区| 国产91精品欧美| 69成人精品免费视频| 老司机免费视频一区二区| 久久精品五月婷婷| 五月婷婷激情综合| 99精品欧美| 综合激情网...| 久久大逼视频| 亚洲成av人片| 中文字幕一区二区三区在线不卡| 91美女蜜桃在线| 色欧美88888久久久久久影院| 亚洲午夜精品在线| 久久精品视频免费| 粉嫩在线一区二区三区视频| 色域天天综合网| 午夜精品免费在线观看| 久久精品成人一区二区三区蜜臀| 亚洲在线观看免费| 亚洲男女自偷自拍| 亚洲高清一区二区三区| 亚洲免费网站| 日韩在线一区二区| 久久综合伊人| 琪琪一区二区三区| 欧美日韩国产成人在线免费| 国产一区二区在线影院| 欧美久久一二区| 国产成人午夜视频| 精品区一区二区| 成人黄色777网| 国产午夜亚洲精品午夜鲁丝片 | 成人午夜在线视频| 日韩精品一区二区在线观看| 不卡视频免费播放| 欧美激情一区在线观看| 影院欧美亚洲| 亚洲高清不卡在线| 欧美性极品少妇| 国产精品亚洲一区二区三区妖精| 日韩免费在线观看| 欧美成人有码| 国产精品传媒在线| 亚洲午夜精品久久久久久浪潮 | 国产丝袜在线精品| 午夜电影亚洲| 亚洲人亚洲人成电影网站色| 亚洲片区在线| 亚洲日本电影在线| 色欧美88888久久久久久影院| 久久激情五月激情| 日韩精品一区二区三区视频在线观看 | 色综合久久中文字幕| 中文字幕av资源一区| 亚洲人www| 日韩电影在线一区二区三区| 在线不卡中文字幕| 91在线观看地址| 亚洲人吸女人奶水| 在线免费观看日本一区| 国产精品一区2区| 国产午夜精品久久久久久免费视| 最新亚洲视频| 美国精品在线观看| 欧美精品一区二区三区蜜桃| 亚洲欧洲在线一区| 久久 天天综合| 国产日韩精品一区二区三区| 亚洲在线成人| 国产在线视频一区二区| 国产欧美日韩另类视频免费观看| 午夜亚洲视频| 国产一区二区三区免费看 | 欧美高清视频www夜色资源网| 不卡一区二区在线| 一区二区欧美精品| 欧美久久久久免费| 欧美日韩调教| 日本怡春院一区二区| 7777女厕盗摄久久久| 国产精品v欧美精品v日本精品动漫 | 亚洲一区二区偷拍精品| 欧美日韩精品电影| 91免费视频观看| 亚洲6080在线| 精品1区2区在线观看| 亚洲在线播放| 成人看片黄a免费看在线| 成人欧美一区二区三区小说 | 日韩精品一区国产麻豆| 欧美日韩国产在线一区| 亚洲老妇xxxxxx| 亚洲影音一区| 国产69精品久久久久毛片| 亚洲日本一区二区三区| 欧美在线高清视频| 色综合久久综合| 日韩精品乱码免费| 久久久无码精品亚洲日韩按摩| 国产精品久久久久久久久久妞妞| 国产精品中文有码| 中文字幕不卡在线播放| 久久看片网站| 成人开心网精品视频| 亚洲精品成a人| 3751色影院一区二区三区| 韩国av一区| 精品影院一区二区久久久| 国产精品你懂的在线欣赏| 欧美日韩国产在线播放网站| 欧美99久久| 人妖欧美一区二区| 日本一区二区三区四区在线视频| 色系网站成人免费| 91最新地址在线播放| 久色婷婷小香蕉久久| 国产精品久久99| 欧美久久一二区| 久久久青草婷婷精品综合日韩| 91丨porny丨中文| 久久se这里有精品| 亚洲一级二级在线| 中文字幕av一区二区三区高| 欧美精品在线视频| 美女爽到呻吟久久久久| 99精品1区2区| 国产精品影视在线| 日本网站在线观看一区二区三区| 亚洲欧美一区二区视频| 欧美mv和日韩mv国产网站| 在线一区二区视频| 亚洲永久免费| 亚洲理伦在线| 午夜欧美精品| 国产成人综合在线播放| 视频一区视频二区在线观看| 国产精品久久久久久久裸模| 日韩午夜激情电影| 欧美日韩国产另类一区| 久久国产精品高清| 国内一区二区三区| 91丨九色丨尤物| 国产不卡在线视频| 久久国产免费看| 天天av天天翘天天综合网色鬼国产| 亚洲日本va在线观看| 国产精品久久国产精麻豆99网站| 欧美大片一区二区| 欧美日韩一区二区三区四区| 久久午夜影视|