• <td id="ae6ms"><li id="ae6ms"></li></td>
  • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
  • <table id="ae6ms"></table>
  • <td id="ae6ms"></td>
    <td id="ae6ms"></td>
  • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
  • <td id="ae6ms"></td>
  • <table id="ae6ms"><li id="ae6ms"></li></table>
  • <table id="ae6ms"></table>
    西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
    軟件
    軟件
    文章
    搜索

    首頁編程開發php教程 → 怎么用PHP腳本自動把純文本文件轉換成Web頁面的解決方案

    怎么用PHP腳本自動把純文本文件轉換成Web頁面的解決方案

    相關軟件相關文章發表評論 來源:本站整理時間:2010/8/11 13:12:35字體大?。?em class="fontsize">A-A+

    作者:佚名點擊:210次評論:5次標簽: PHP

    • 類型:服務器區大?。?i>21M語言:中文 評分:7.5
    • 標簽:
    立即下載

    最近,我的一個老朋友向我打電話求助。他從事記者的職業有多年了,最近獲得了重新出版他的很多早期專欄的權利。他希望把他的作品貼在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

    // 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
    $html = nl2br(htmlspecialchars($data));
    // replace multiple spaces with single spaces
    $html = preg_replace('/ss /', ' ', $html);
    // replace URLs with elements
    $html = preg_replace('/s(w ://)(S )/', ' 12', $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 .= "$slug";
    $output .= "By $byline";
    $output .= "$html";
    // 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文件讀取到一個PHP數組里。這通過file()函數很容易就可以完成,這個函數會把文件的每一行都轉換成為一個用數字索引的數組中的元素。

    然后,標題和作者行(我假設這兩個都是文件的前兩行)都通過array_shift()函數從數組里提取出來,放到單獨的變量里。數組剩下的成員然后被連接成一個字符串。這個字符串現在就包括了整篇文章的正文。
    文章正文里像“'”、“”這樣的特殊符號通過htmlspecialchars()函數被轉換成相應的HTML符號。為了保留文章的原始格式,分行和分段通過nl2br()函數被轉換成HTML的元素。文章中間多個空格通過簡單的字符串替換被壓縮成為一個空格。

    文章正文里的URL用正則表達式來檢測,兩邊是元素。當頁面在Web瀏覽器里顯示的時候,它會把URL轉換成為可點擊的超鏈接。

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

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

    注意:在使用這個腳本創建和保存HTML文件到磁盤的時候,你要確保這個腳本對文件保存的目錄有寫權限。

    正如你看到的,假如你有標準格式的ASCII純文本數據文件,你可以相當迅速用PHP把它轉換成為可使用的Web頁面。如果你已經有了一個Web網站,并計劃把新的Web頁面加入進來,那么調試頁面生成器所使用的模板,使之適應原有Web網站的外觀是相當容易的。你自己試試看!

      相關評論

      閱讀本文后您有什么感想? 已有人給出評價!

      • 8 喜歡喜歡
      • 3 頂
      • 1 難過難過
      • 5 囧
      • 3 圍觀圍觀
      • 2 無聊無聊

      熱門評論

      最新評論

      發表評論 查看所有評論(5)

      昵稱:
      表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
      字數: 0/500 (您的評論需要經過審核才能顯示)
      女人让男人桶30分钟免费视频,女人张开腿让男人桶个爽,一进一出又大又粗爽视频
    • <td id="ae6ms"><li id="ae6ms"></li></td>
    • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
    • <table id="ae6ms"></table>
    • <td id="ae6ms"></td>
      <td id="ae6ms"></td>
    • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
    • <td id="ae6ms"></td>
    • <table id="ae6ms"><li id="ae6ms"></li></table>
    • <table id="ae6ms"></table>