<?php
// ustaw nazwę i ścieżkę pliku źródłowego
$source = $_GET['file'];

// odczytaj tekst źródłowy jako macierz
$raw = file($source) or die("Nie można odczytać pliku");

// pobierz pierwszy i ostatni wiersz (tytuł i autor)
$slug = array_shift($raw);
$byline = array_shift($raw);

// dołącz pozostałe dane do łańcucha
$data = join('', $raw);

// zamień znaki specjalne encjami HTML
// zamień znaki końca linii znacznikami <br />
$html = nl2br(htmlspecialchars($data));

// zamień wiele spacji pojedynczą spacją
$html = preg_replace('/\s\s+/', ' ', $html);

// zamień adresy URL elementami <a href...> 
$html = preg_replace('/\s(\w+:\/\/)(\S+)/', ' <a href="\\1\\2" target="_blank">\\1\\2</a>', $html);

// rozpocznij budowanie strony wyjściowej
// dodaj nagłówek strony
$output =<<< HEADER
<html>
<head>
<style>
BODY {
font-family:Courier New, monospace;
font-size: 11pt; 
font-weight: bold}
</style>
</head>
<body>
HEADER;

// dodaj treść strony
$output .= "<div class='slug'>$slug</div>";
$output .= "<div class='byline'>$byline</div><p />";
$output .= "<div>$html</div>";

// dodaj stopkę strony
$output .=<<< FOOTER
</body>
</html>
FOOTER;

// wyświetl w przeglądarce
echo $output;

// I (LUB)

// zapisz wynik do nowego pliku .html
file_put_contents(basename($source, substr($source, strpos($source, '.'))) . ".html", $output) or die("Cannot write file");
?>
