Hallo,
Ich habe folgende Klasse:
nun möchte ich, die Variablen, die aus einer Sprachdatei per addLangFile($file) geladen wurden und sich in dem Array $this->lang befinden mit der Funktion replaceLang($text) in dem zu überprüfenden text ersetzen lassen. Jedoch weiß ich nicht, wie ich die Variable $this->lang in create_function bekomme.
Ich höffe ihr könnt mir helfen.
LG
Tobias
Ich habe folgende Klasse:
PHP:
<?php
//Klasse stark gekürzt
abstract class modul{
protected $out;
private $lang = array();
private $style = array();
protected $path=NULL;
protected $URL=NULL;
final protected function out($str='', $mode='add') {
//...
}
final public function getOut() {
$out = $this->replaceLang($this->out);
return $out;
}
final protected function addLangFile($file) {
$file = $this->path.$file;
if (is_file($file)) {
$file = fopen($file, 'r');
if ($file!=false) {
while ($line = fgets($file)) {
$line= explode(':', $line);
$this->lang[$line[0]]=$line[1];
}
fclose($file);
}
}
}
final private function replaceLang($text) {
$text = preg_replace_callback('#\{LANG:(.*)\}#iU', create_function('$args','return "Fehler"'), $text);
return $text;
}
}
nun möchte ich, die Variablen, die aus einer Sprachdatei per addLangFile($file) geladen wurden und sich in dem Array $this->lang befinden mit der Funktion replaceLang($text) in dem zu überprüfenden text ersetzen lassen. Jedoch weiß ich nicht, wie ich die Variable $this->lang in create_function bekomme.
Ich höffe ihr könnt mir helfen.
LG
Tobias