ホームページ  >  記事  >  バックエンド開発  >  PHP スクリプトを使用してプレーン テキスト ファイルを Web ページに自動的に変換する_PHP チュートリアル

PHP スクリプトを使用してプレーン テキスト ファイルを Web ページに自動的に変換する_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:05:38823ブラウズ

最近、私の古い友人が私に助けを求めて電話してきました。彼は長年ジャーナリストとして活動しており、最近、初期のコラムの多くを再出版する権利を獲得しました。彼は自分の作品を Web に投稿したいと考えていましたが、コラムはプレーン テキスト ファイルとして保存されており、それを Web ページに変換するために HTML を学ぶ時間も意欲もありませんでした。彼の電話帳の中でコンピューターに詳しいのは私だけだったので、彼は私に電話して、私に手伝ってもらえるかどうか尋ねました。

「私に任せてください。1 時間以内に電話してください。」 もちろん、数時間後に彼が電話してきたとき、私はすでに解決策を用意していました。少しの PHP の知識が必要でしたが、彼からは限りない感謝と赤ワイン 1 ケースを受け取りました。

それで、私はこの時間に何をしましたか?それがこの記事の内容です。 PHP を使用して、プレーン ASCII テキストを読み取り可能な HTML マークアップに迅速かつ完全に変換する方法を説明します。

まず、私の友人が変換したいプレーンテキストファイルの例を見てみましょう:

Green for Mars!
John R. Doe

長い間 SF の定番であった、火星から来た小さな緑の男のアイデアは、間もなく空想ではなく、より事実であることが判明するかもしれません。

最新の火星探査チームによって送られた最近のサンプルは、大気中にクロロフィルが大量に存在することを示しています。クロロフィルが植物を緑色にしている可能性が非常に高いです。したがって、火星の生物は、緑色のものにさらされ続けることで、外骨格に緑がかった色合いを帯びることになります。

ASDA の火星植民プロジェクトの責任者、ラシェル・バンター博士へのインタビューです...

これはあなたにとって何を意味しますか? まあ、それはまあまあということです...

この記事のフォローアップをオンラインで追跡するには、http://www.mars-connect.dom/ にログオンしてください。 http://www.asdamcp.dom/galleries/220/

かなり標準的なテキストです。タイトル、署名欄、および多くの段落のテキストが含まれています。このドキュメントを HTML に変換するために実際に行う必要があるのは、HTML の改行タグと段落タグを使用して、Web ページ上の元のテキストのレイアウトを保持することです。特別な句読点は対応する HTML シンボルに変換する必要があり、ハイパーリンクはクリック可能にする必要があります。

次の PHP コード (リスト A) は、上記のタスクをすべて完了します:

リスト A

// ソース ファイル名とパスを設定します
$source = "toi200686.txt";

/ /生のテキストを array として読み取ります
$raw = file($source) または die("Cannot read file");

// 1 行目と 2 行目 (タイトルと作成者) を取得します
$slug = array_shift($raw);
$ byline = array_shift($raw);

// 残りのデータを文字列に結合します
$data = join('', $raw);

// 特殊文字を HTML エンティティに置き換えます
// 改行を < に置き換えます/>
$html = nl2br(htmlspecialchars($data));

// 複数のスペースを単一のスペースに置き換えます
$html = preg_replace('/ss /', ' ', $html);


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/445115.html技術記事最近、私の古い友人が私に助けを求めて電話してきました。彼は長年ジャーナリストとして活動しており、最近、初期のコラムの多くを再出版する権利を獲得しました。彼は自分の作品を投稿したいと考えています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。