日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

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

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

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

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

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

首先讓我們來(lái)看一個(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頁(yè)面上。特殊的標(biāo)點(diǎn)符號(hào)需要被轉(zhuǎn)換成為對(duì)應(yīng)的HTML符號(hào),超鏈接需要變得可以點(diǎn)擊。

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

列表A

讓我們來(lái)看看它是如何工作的:

以下是引用片段:<?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://m.b3g6.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ù)組里。這通過(guò)file()函數(shù)很容易就可以完成,這個(gè)函數(shù)會(huì)把文件的每一行都轉(zhuǎn)換成為一個(gè)用數(shù)字索引的數(shù)組中的元素。

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

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

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

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

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

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

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

標(biāo)簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩精品免费观看视欧美高清免费大片| 久久国产主播| 日韩午夜av在线| 欧美日韩在线网站| 亚洲91视频| 亚洲午夜精品久久久久久app| 四虎4545www国产精品 | 国内一区二区三区| 精品视频亚洲| 国产精品v日韩精品v欧美精品网站| 欧美综合社区国产| 国产欧美高清| 久久麻豆视频| 亚洲伦乱视频| 亚洲中字黄色| 欧美日韩 国产精品| 伊人久久大香线蕉av不卡| 欧美日韩国产亚洲一区| 美女黄网久久| 国产乱码精品一区二区亚洲| 高潮久久久久久久久久久久久久| 国产精品一卡| 国产福利片在线观看| 国产国产精品| 日韩精品一级中文字幕精品视频免费观看| 亚洲精品精选| 久久av国产紧身裤| 成人日韩在线| 欧美中文字幕| 国产欧美激情| 久久国产毛片| 日韩欧美久久| 精品资源在线| 亚洲女同中文字幕| 国产亚洲字幕| 日韩精品一区二区三区免费观看| 国产毛片久久| 开心激情综合| 黄色日韩精品| 欧美亚洲福利| 久久久一本精品| 少妇精品在线| 日韩欧美精品一区| 婷婷五月色综合香五月| 国产精选在线| 日韩1区2区3区| 天堂8中文在线最新版在线| 亚洲中午字幕| 国产91欧美| 亚洲一区二区三区久久久| 精品视频网站| 丝袜国产日韩另类美女| 麻豆91在线播放| 国产精品女主播一区二区三区| 日本中文字幕不卡| 在线观看精品| 久久精品xxxxx| 在线成人直播| 精品一区视频| 丝袜亚洲另类欧美| 国产一区二区精品福利地址| 国产视频一区免费看| 久久亚洲道色| 亚洲狼人精品一区二区三区| 精品国产aⅴ| 亚洲精品乱码久久久久久蜜桃麻豆| 动漫av一区| 亚洲精品麻豆| 999国产精品视频| 欧美色综合网| 免费视频久久| 99视频精品视频高清免费| 日韩国产在线一| 国精品一区二区| 久久麻豆视频| 婷婷精品在线| 久久久久网站| 麻豆精品久久久| 一区二区三区四区日韩| 999久久久国产精品| 国产美女亚洲精品7777| 视频一区视频二区中文| 99久久精品网| 国产在线一区不卡| 日韩激情综合| 国产毛片精品| 亚洲尤物av| 午夜日韩在线| 久久国产亚洲| 福利一区视频| 欧美黄页在线免费观看| 日韩精品第一| 日韩精品一二三区| 午夜精品影院| 久久在线视频免费观看| 精品日产乱码久久久久久仙踪林| 奇米亚洲欧美| 亚洲精品国产日韩| 久久电影一区| jiujiure精品视频播放| sm捆绑调教国产免费网站在线观看| 日韩av成人高清| 综合亚洲色图| 首页国产欧美日韩丝袜| 在线日韩电影| 欧产日产国产精品视频| 高清在线一区| 国产91在线播放精品| 精品精品99| 国产精品成久久久久| 精品网站999| 精品在线网站观看| 精品国产乱码久久久| 免费在线成人| 美女视频免费精品| 久久精品国产网站| 久久精品天堂| 国产一区二区三区黄网站| 国产精品视频一区二区三区 | 性欧美长视频| 99国产精品视频免费观看一公开 | 日韩av网站在线免费观看| 日韩精品1区2区3区| 日本国产欧美| 国产精品久久久久av蜜臀| 欧美日韩亚洲一区在线观看| 欧美日韩亚洲一区二区三区在线| 青青草国产成人99久久| 日韩av中文字幕一区| 日韩精品亚洲专区| 欧美一区免费| 国产伦精品一区二区三区在线播放| 国产精区一区二区| 91精品丝袜国产高跟在线| 国产美女视频一区二区| 精品视频自拍| 超碰超碰人人人人精品| 久久人人88| 香蕉国产精品| 日韩中文字幕一区二区三区| 中文在线日韩| 国产精品久久久久久久久久白浆 | 久久这里只有| 成人美女视频| 欧美在线亚洲| 亚洲精品精选| 麻豆国产精品777777在线| 色综合狠狠操| 免费不卡中文字幕在线| 免费视频最近日韩| 国产亚洲精品美女久久久久久久久久| 国产精一区二区| 国产伊人久久| 亚洲福利国产| 日精品一区二区三区| 麻豆国产欧美日韩综合精品二区| 成人台湾亚洲精品一区二区| 91精品精品| 亚洲精品黄色| 国产一区二区三区四区二区| 欧美日韩免费观看一区=区三区 | 亚洲福利精品| 日韩精品久久久久久| 国产在线日韩精品| 欧美色图国产精品| 综合欧美精品| 国产福利片在线观看| 午夜在线精品| 久久av影视| 精品1区2区3区4区| 国产亚洲精品精品国产亚洲综合| 亚洲精品88| 综合亚洲视频| 日韩啪啪电影网| 日韩中文字幕| av综合电影网站| 亚州av一区| jizzjizz中国精品麻豆| 中文字幕日韩亚洲| 欧美经典一区| 99综合视频| 欧美成人精品一级| 亚洲免费播放| 久久精品国产福利| 鲁大师成人一区二区三区| 久久精品国产福利| 香蕉久久夜色精品国产| 国产在线一区不卡| 亚洲精品成人一区| 日韩免费小视频| 91福利精品在线观看| 久久在线免费| 老司机免费视频一区二区| 亚洲在线网站| 精品国产亚洲一区二区在线观看| 亚洲欧美不卡| 四季av一区二区凹凸精品| 亚洲精品九九| 黄色亚洲免费| 日韩免费高清|