Mensen,
Ik heb de volgende klasse gemaakt:
Hierbij gebruik ik de volgende code
De waarde bij insert() zet hij in een array, dit werkt. De preg_replace moet de {_CODE_} uit de /tpl vissen en vervangen door de value van die array.
het probleem:
Maar de volgende regel geeft niets terug:
terwijl deze regel het wel doet:
en als ik de volgende regel gebruik:
Dan print het wel...
Wie kan me helpen, ik kom er zelf niet meer uit.,
Ik heb de volgende klasse gemaakt:
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
| class document { var $data,$template; function set_tpl($file) { $this->template=$file; } function insert($key,$value) { $this->data[$key]=$value; } function parse() { $fp=fopen($this->template,"r") or die("Kan template niet openen"); while(! feof($fp)) { $line=fgets($fp,1024); if(strstr($line,"{_")) { $line = preg_replace("/{_(.*?)_}/",$this->data["\\1"],$line); } echo $line; } } } |
Hierbij gebruik ik de volgende code
PHP:
1
2
3
4
| $page=new document(); $page->set_tpl("parse.tpl"); $page->insert("INHOUD","yep"); $page->parse(); |
De waarde bij insert() zet hij in een array, dit werkt. De preg_replace moet de {_CODE_} uit de /tpl vissen en vervangen door de value van die array.
het probleem:
Maar de volgende regel geeft niets terug:
PHP:
1
| $line = preg_replace("/{_(.*?)_}/",$this->data["\\1"],$line); |
terwijl deze regel het wel doet:
PHP:
1
| $line = preg_replace("/{_(.*?)_}/",$this->data["INHOUD"],$line); |
en als ik de volgende regel gebruik:
PHP:
1
| $line = preg_replace("/{_(.*?)_}/","\\1",$line); |
Dan print het wel...
Wie kan me helpen, ik kom er zelf niet meer uit.,