mam funkcję pobierającą mi z bazy nazwę wpisu na podstawie ID:
function nazwa_wpisu($z) { { { { return $wiersz['tytul']; } else { return "bez nazwy"; } } } else { return "wpis nie istnnieje"; } }
Wywołując w kodzie poprzez nazwa_wpisu(5); pokazuje mi nazwę wpisu o ID nr 5.
kolejno mam wyrażenie regularne które ma mi zamienić formułę {!NazwaWpisu id="5"} na nazwe wpisu z bazy danych. W tym celu mam wyrażenie regularne w klasie:
$this -> plik = preg_replace("#\{\!NazwaWpisu id=\"([0-9]?)\"\}#ms", nazwa_wpisu("$1"), $this -> plik); // zwraca mi brak wpisu
Jeżeli usunę funkcję nazwa_wpisu z tej linijki
$this -> plik = preg_replace("#\{\!NazwaWpisu id=\"([0-9]?)\"\}#ms", "$1", $this -> plik); // zwraca mi 5 - czyli prawidłowo interpretuje wyrażenie regularne
ostatecznie jeżeli ręcznie wpisze wartość ID
$this -> plik = preg_replace("#\{\!NazwaWpisu id=\"([0-9]?)\"\}#ms", nazwa_wpisu(5), $this -> plik); // zwraca nazwę wpisu tak jak należy.
Jakiś pomysł gdzie leży problem?
klasa obsługuje mi system szablonów, kolejno funkcja nazwa_wpisu() leży gdzieś w innym pliku bez klasy itp.
Będę wdzięczny za pomoc!