timestamp
Mitglied Käsekuchen
Hi
ich stehe hier gerade vor einem Rätsel. Folgender Code soll Platzhalter in einem Template ersetzen. Die Platzhalter sind nach folgenden Muster aufgebaut:
{Platzhalter}
Der Code ersetzt allerdings nur was _in_ den Klammern steht, nicht die Klammern selbst. In einem online Regextester erhalte ich jedoch das gewünschte Ergebnis, nur auf dem Webserver nicht.
$matches[0]:
Template ($str):
Ausgabe:
ich stehe hier gerade vor einem Rätsel. Folgender Code soll Platzhalter in einem Template ersetzen. Die Platzhalter sind nach folgenden Muster aufgebaut:
{Platzhalter}
Der Code ersetzt allerdings nur was _in_ den Klammern steht, nicht die Klammern selbst. In einem online Regextester erhalte ich jedoch das gewünschte Ergebnis, nur auf dem Webserver nicht.
PHP:
$replace = array_slice(func_get_args(), 1);
preg_match_all('/\{[a-z0-9_.]+\}/i', $str, $matches);
return preg_replace($matches[0], $replace, $str);
$matches[0]:
Code:
array(3) {
[0]=>
string(8) "{errstr}"
[1]=>
string(7) "{errno}"
[2]=>
string(7) "{query}"
}
Template ($str):
Code:
<pre>
MySQL error:
{errstr} ({errno})
Query:
{query}
</pre>
Ausgabe:
Code:
MySQL error:
{Table '***.nothing' doesn't exist} ({1146})
Query:
{'SELECT something_that_doesnt_exist FROM nothing'}