Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] zmiana ciągów w {} na nazwy zmiennych
rasgan
post 30.05.2007, 13:25:21
Post #1





Grupa: Zarejestrowani
Postów: 97
Pomógł: 0
Dołączył: 30.05.2007
Skąd: Kleszczów

Ostrzeżenie: (0%)
-----


Witam,

mam niewielki problem, ale raczkuję na tyle by nie umieć sobie z nim poradzić. Chodzi mi o to, że do zmiennej $html wczytuję plik zbudowany ze znaczników html. W moim pliku zmieniają się różne rzeczy (data, adresy, nazwy) według pewnego szablonu. Chciałbym by pewne stałe dane, tak jak data, w pliku HTML były zapisane tak: {DATA}, {ADRES}. Po wczytaniu do zmiennej $html poleceniem:
Kod
$html = fread(fopen('szablon.tpl', 'r'), filesize('szablon.tpl'));

mojego pliku, chciałbym zastąpić {DATA} zmienną $data czy {ADRES} zmienną $adres wcześniej zdefiniowaną w skrypcie.
Kod
$data = date('Y-m-d');
$adres = 'Moj adres';
$html = fread(fopen('szablon.tpl', 'r'), filesize('szablon.tpl'));
tutaj powinna być zamiana znaczników w {} na zmienne zdefiniowane wcześniej.


Może mi ktoś doradzić jak to zrobić?


--------------------
Szczęścia w mrokach...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
tommy4
post 30.05.2007, 13:27:47
Post #2





Grupa: Zarejestrowani
Postów: 288
Pomógł: 12
Dołączył: 2.12.2005

Ostrzeżenie: (0%)
-----


$search = array("{DATA}", "{ADRES}");
$replace = array($data, $adres);
$text = str_replace($search, $replace, $text);

Potem tylko dodajesz elementy do $search i $replace.

Ten post edytował tommy4 30.05.2007, 13:29:17
Go to the top of the page
+Quote Post
rasgan
post 31.05.2007, 09:24:47
Post #3





Grupa: Zarejestrowani
Postów: 97
Pomógł: 0
Dołączył: 30.05.2007
Skąd: Kleszczów

Ostrzeżenie: (0%)
-----


A dało by się jakoś tak zrobić żebym to miał w jednej tablicy? Łatwiejsza edycja i mniejsza szansa się pogubić w tym wszystkim, bo przy 20 zmiennych robi się już koszmar.

Coś podobnego widziałem w funkcji plCharset
Kod
function plCharset($string, $type = ISO88592_TO_UTF8) {
        $win2utf = array(
          "\xb9" => "\xc4\x85", "\xa5" => "\xc4\x84",
          "\xe6" => "\xc4\x87", "\xc6" => "\xc4\x86",
          "\xea" => "\xc4\x99", "\xca" => "\xc4\x98",
          "\xb3" => "\xc5\x82", "\xa3" => "\xc5\x81",
          "\xf3" => "\xc3\xb3", "\xd3" => "\xc3\x93",
          "\x9c" => "\xc5\x9b", "\x8c" => "\xc5\x9a",
          "\xbf" => "\xc5\xbc", "\x8f" => "\xc5\xbb",
          "\x9f" => "\xc5\xba", "\xaf" => "\xc5\xb9",
          "\xf1" => "\xc5\x84", "\xd1" => "\xc5\x83"
        );
        
        $iso2utf = array(
          "\xb1" => "\xc4\x85", "\xa1" => "\xc4\x84",
          "\xe6" => "\xc4\x87", "\xc6" => "\xc4\x86",
          "\xea" => "\xc4\x99", "\xca" => "\xc4\x98",
          "\xb3" => "\xc5\x82", "\xa3" => "\xc5\x81",
          "\xf3" => "\xc3\xb3", "\xd3" => "\xc3\x93",
          "\xb6" => "\xc5\x9b", "\xa6" => "\xc5\x9a",
          "\xbc" => "\xc5\xba", "\xac" => "\xc5\xb9",
          "\xbf" => "\xc5\xbc", "\xaf" => "\xc5\xbb",
          "\xf1" => "\xc5\x84", "\xd1" => "\xc5\x83"
        );


Tylko nie bardzo wiem jak by to zaadoptować.

EDIT:
Ok, poradziłem sobie w taki sposób:
Kod
$replace = array(
                '{WIERZ_NAZWA}' => $WIERZ_NAZWA,
                '{KONF_MIEJSCE_WYSTAWIENIA}' => $KONF_MIEJSCE_WYSTAWIENIA
            );


Ten post edytował rasgan 31.05.2007, 09:33:56


--------------------
Szczęścia w mrokach...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 18:20