首先让我们来看一个我朋友希望转换的纯文本文件的例子:
以下为引用的内容:
复制代码 代码如下:
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+)/', ' ', $html);
// start building output page
// add page header
$output =<<< HEADER
HEADER;
// add page content
$output .= "
$slug
";
$output .= "
By $byline
";
$output .= "
$html
";
// 페이지 바닥글 추가
$output .=<<< FOOTER
FOOTER;
/ / 브라우저에 표시
echo $output;
// AND/OR
// 새 .html 파일에 출력 쓰기
file_put_contents(basename($source, substr($source, strpos($ source, '.'))) . ".html", $output) 또는 die("파일을 쓸 수 없습니다.")
첫 번째 단계는 순수 파일을 변환하는 것입니다. ASCII 파일 PHP 배열로 읽기 이것은 파일의 각 줄을 숫자로 인덱스된 배열 요소
로 변환한 다음 제목과 작성자 줄을 변환하는 file() 함수를 사용하여 쉽게 수행됩니다. 파일의 처음 두 줄)은 array_shift() 함수를 통해 배열에서 추출되어 별도의 변수에 배치됩니다. 그런 다음 배열의 나머지 구성원이 문자열로 연결됩니다.
Special. "'", "<" 및 ">"와 같은 기호는 기사의 내용을 보존하기 위해 htmlspecialchars() 함수를 통해 해당 HTML 기호로 변환됩니다. 🎜> nl2br() 함수를 통해 기사 중간에 있는 여러 공백을 간단한 문자열 대체를 통해 하나의 공백으로 압축합니다. 기사 본문의 URL을 정규 표현식을 사용하여 표현합니다. 페이지가 웹 브라우저에 표시되면 URL을 클릭 가능한 하이퍼링크로 변환한 다음 표준 HTML 규칙을 사용하여 출력 HTML 페이지를 생성합니다. 하지만 이 스크립트는 CSS 스타일 규칙을 사용하여 형식이 지정됩니다. 여기에서 최종 페이지의 모양을 사용자 정의할 수 있습니다. 그래픽 요소, 색상 또는 기타 화려한 콘텐츠를 템플릿에 추가할 수 있습니다.
HTML 페이지가 구축되면 브라우저로 보낼 수 있습니다. file_put_contents()를 사용하여 정적 파일로 저장됩니다. 저장 시 원본 파일 이름은 새로 생성된 웹 페이지에 대해 새 파일 이름(.html)으로 구분됩니다. 웹 페이지를 웹 서버에 저장하거나 CD에 저장하거나 추가로 편집할 수 있습니다.
참고: 이 스크립트를 사용하여 HTML 파일을 생성하고 디스크에 저장할 때 스크립트에 파일이 저장된 디렉터리에 대한 쓰기 권한이 있는지 확인해야 합니다.
보시다시피 표준 형식의 ASCII 일반 텍스트 데이터 파일이 있으면 PHP를 사용하여 상당히 빠르게 사용 가능한 웹 페이지로 변환할 수 있습니다. 이미 웹 사이트가 있고 여기에 새 웹 페이지를 추가할 계획이라면 페이지 빌더에서 사용하는 템플릿을 조정하여 원래 웹 사이트의 모양에 맞게 조정하는 것이 매우 쉽습니다.
위 내용은 PHP 코드의 내용을 포함하여 일반 텍스트를 웹 페이지의 PHP 코드로 자동 변환하는 PHP 코드를 소개한 내용입니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.