Funkcja add_file

Rozmowy z innymi użytkownikami forum na różne tematy, niekoniecznie związane ze skryptem phpBB.
Awatar użytkownika
Betrayal
Zasłużony
Posty: 649
Rejestracja: 18 marca 2006, 16:15
Lokalizacja: Otwock pod W/w

Funkcja add_file

Post autor: Betrayal » 22 kwietnia 2007, 16:04

Witam

Utworzyłem plik index.php o następującej budowie:

Kod: Zaznacz cały

$key_path = "./";
include ($key_path . "db_config.php");
include ($key_path . "modules/functions.php");

$style = new Style ();
$style-> file_html('index.html');

@include ($key_path . "language/polish.php");

foreach( $lang["header"] as $key => $value ) {
  $style-> add_file("LANG_" . $key, $value);
}
Jak widać, znajduje się tam odwołanie do pliku polish.php, który wygląda tak:

Kod: Zaznacz cały

$lang["header"] = array(
    "POWERED_INFO" => "Forum oparte o skrypt ***",
);
Następnie utworzyłem plik index.html i funkcję file_html.

Plik:

Kod: Zaznacz cały

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<title><{BOARD_TITLE}> &bull; <{LANG_POWERED_INFO}></title>
</head>
<body>

</body>
</html>
Funkcja:

Kod: Zaznacz cały

public function file_html($file)
  {
    if (file_exists ("styles/KeyStyle/$file"))  include ("styles/KeyStyle/$file");

    else echo ('<span style="color:red;"><b>Brak pliku ' . $file . ' w szablonie ' .  $this->style_name . '</b></span>');
  
  }
Teraz chciałbym stworzyć funkcję add_file. Polegałaby ona na tym, że LANG_ znajdujący się w pętli foreach łączył się z $key i zamieniał się na $value. Normalnie użyłbym funkcji str_replace, ale chodzi o to, że LANG_ połączone z $key w pliku index.html wyglądało tak:

Kod: Zaznacz cały

<{LANG_$key}>
I to zamieniało się po wejściu na stronę na odpowiedni kod, który jest załączony w pliku polish.php, np. dam w pliku index.html kod:

Kod: Zaznacz cały

<{LANG_POWERED_INFO}>
A na stronie ma się wyświetlić napis "Forum oparte o skrypt ***"

Mam nadzieję, że zrozumieliście o co chodzi. Jest mi to bardzo potrzebne, gdyż nie chcę mieszać kodu PHP z kodem HTML w jednym pliku.

Pozdrawiam

P.S. Jeżeli nie zrozumieliście, o co mi chodzi, ściągnijcie EKINboard, tam jest coś podobnego. Prosiłbym także o nieodsyłanie mnie na strony oferujące ściągnięcie systemu templatek, a także niezmienianie jakiegokolwiek pliku. Proszę jedynie o zbudowanie takowej funkcji, gdyż sam nie daję sobie rady :) Proszę bardzo o tę pomoc, bo pisałem na profesjonalnych forach o PHP i nikt nie raczył odpowiedzieć mi na pytanie ;(

ODPOWIEDZ

Wróć do „Ogólne dyskusje”