用PHP自動把純文字轉換成Web頁面

2021-08-22 16:43:48 字數 2093 閱讀 5633

<?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

$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+)/', ' ', $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");

?>

第一步是把純ascii檔案讀取到乙個php陣列裡。這通過file()函式很容易就可以完成,這個函式會把檔案的每一行都轉換成為乙個用數字索引的陣列中的元素。

然後,標題和作者行(我假設這兩個都是檔案的前兩行)都通過array_shift()函式從陣列裡提取出來,放到單獨的變數裡。陣列剩下的成員然後被連線成乙個字串。這個字串現在就包括了整篇文章的正文。

文章正文裡像「'」、「<」和「>」這樣的特殊符號通過htmlspecialchars()函式被轉換成相應的html符號。為了保留文章的原始格式,分行和分段通過nl2br()函式被轉換成html的

元素。文章中間多個空格通過簡單的字串替換被壓縮成為乙個空格。

然後用標準的html規則建立輸出的html頁面。文章的標題、作者和正文都用css樣式規則格式化。儘管這段指令碼沒有這樣做,但是你可以在這個地方自定義最終頁面的外觀,你可以向模板新增圖形元素、顏色或者其他眩目的內容。

一旦html頁面構建完成,它就可以被送到瀏覽器或者用file_put_contents()儲存為靜態檔案。要注意的是,在儲存的時候,原來的檔名會被分解,乙個新的檔名(叫做filename.html)會為新建立的web頁面建立。你然後就可以把這個web頁面發布到web伺服器上、儲存到光碟上或者對它進行進一步編輯。

注意:在使用這個指令碼建立和儲存html檔案到磁碟的時候,你要確保這個指令碼對檔案儲存的目錄有寫許可權。

正如你看到的,假如你有標準格式的ascii純文字資料檔案,你可以相當迅速用php把它轉換成為可使用的web頁面。如果你已經有了乙個 web**,並計畫把新的web頁面加入進來,那麼除錯頁面生成器所使用的模板,使之適應原有web**的外觀是相當容易的。你自己試試看!

Java把Html格式文字轉換成純文字的問題

工作上需要把一段html內容轉換成純文字。最簡單的辦法,是用正規表示式把全部的標籤替換成空字串,然後把被轉義的內容 尖括號,空格等 轉回來。這裡用到了stringescapeutils,來自apache commons lang library commons lang3 3.0.1.jar str...

把純數字轉換成大寫的數字

把數字轉成大寫的數字 function imgcount num 驗證輸入的字元是否為數字 if isnan num 字元處理完畢後開始轉換,採用前後兩部分分別轉換 小數點為界限 part string num split 初始化乙個字串 newchar 小數點前進行轉化 for i part 0 ...

php把int型別轉換成時間型別

這次做專案遇到了時間戳轉換的問題 資料庫設計的時間戳為int格式的,所有需要一定的轉換 1 lasttime time 這個是新增乙個time時間戳 這個時間戳會輸出當前時間並轉換成int型別 1558321414 這個是我寫這個的時候的時間戳 當提取出來的時候可以用 1 time date y m...