Ik probeer een dus een template-class in elkaar te prutsen. Wat het als eerste moet doen is het vervangen van variabelen. Er wordt een bestand ingeladen waarin alle HTML & variabelen staan. Ik gebruik een stukje regexp om de variabelen in het ingeladen bestand te matchen. Het gematch-te moet vervangen worden door een bestaande variabele die aanwezig in PHP-bestand waaruit de class wordt aangeroepen.
Het probleem is dat het matchen wel lukt, en dat daar zelf wel de goede waarde uitkomt, maar het correct aanroepen van de variabele lukt niet. Met $GLOBALS kan ik trouwens vanuit de class wel de variabele correct aanroepen, maar met de gematch-te waarde niet, daar ligt het probleem volgens mij. Hoe kan ik dit oplossen? Thx!
Stukje code kan handig zijn trouwens:
Het probleem is dat het matchen wel lukt, en dat daar zelf wel de goede waarde uitkomt, maar het correct aanroepen van de variabele lukt niet. Met $GLOBALS kan ik trouwens vanuit de class wel de variabele correct aanroepen, maar met de gematch-te waarde niet, daar ligt het probleem volgens mij. Hoe kan ik dit oplossen? Thx!
Stukje code kan handig zijn trouwens:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
| <?php class template { function loadFile ($file) { $error = FALSE; $open = @fopen ($file, "r") or $error = TRUE; if (!$error) { $file_content = addslashes (fread ($open, filesize ($file))); fclose ($open); } return $file_content; } function parse ($string) { $expression = "/(\{)(.+?)(\})/"; $replace = $this->parseVars ("\\2"); $string = preg_replace ($expression, $replace, $string); return $string; } function parseVars ($string) { return $GLOBALS[$string]; //Stel: De variable 'blaat' is aanwezig in het bestand //waaruit de class aangeroepen wordt, als je werkt met //'$GLOBALS["blaat"] werkt dat wel, maar met de gemach- //te waarde lukt het niet... } } ?> |
[ Voor 36% gewijzigd door AK47 op 01-02-2003 18:16 . Reden: + Code ]