Dit wil niet werken: ( ben nu 2 dagen aant prutsen ermee)
-----------------------

<?php
function template($replace,$source){
$temp = file_get_contents($source);
foreach($replace as $key => $value){
$temp = preg_replace('{'.$key.'}',$value, $temp);
}
return $temp;
}
$array['nieuws_titel'] = 'voorbeeld1';
$array['nieuws_bericht'] = 'voorbeeld2';
$source = "voorbeeld.html";
-----------------------------------------
zo voer ik het uit:
-----------------------------------------
$voorbeeld = template($_POST["voorbeeld"]);

-----------------------
deze errors krijg ik:
------------------------
Warning: Missing argument 2 for template() in /www/htdocs/blabla/add.php on line 10

Warning: Invalid argument supplied for foreach() in /www/htdocs/blabla/add.php on line 12

::: ik heb beide "$replace" al vervangen door $array , maar dat hielp ook niks... ::: whats wrong??



Warning: Missing argument 2 for template()

Je vergeet dus het 2e argument/waarde aan de functie template (mee) te geven

Dus:
$voorbeeld = template($_POST["voorbeeld"],$source);
de eerste error is weg , maar de tweede is er nog steeds: Warning: Invalid argument supplied for foreach() in /www/htdocs/blabla/add.php on line 12
Doe het zo

<?php
function template($replace,$source){
$temp = file_get_contents($source);
foreach($replace as $key => $value){
$temp = preg_replace('{'.$key.'}',$value, $temp);
}
return $temp;
}
$mykeywords=array ('nieuws_titel'=> 'voorbeeld1' ,'nieuws_bericht' => 'voorbeeld2');
$source = "voorbeeld.html";

$voorbeeld = template($mykeywords,$source);
echo $voorbeeld;
?>
allereerst , bedankt voor je hulp .. hoe doet het nu , maar ik krijg nog wel deze error:

Invalid argument supplied for foreach() in /www/htdocs/blabla/add.php on line 4

er is dus "blijkbaar" iets aan de hand met die foreach regel ...... kzie aleen niet wat :D
foreach heeft een array nodig, en die geef je zo te zien niet.

Wat je zou kunnen doen is bijvoorbeeld:
$tpl = array();
$tp['voorbeeld'] = $_POST["voorbeeld"];
echo template($tpl, 'templatebestand.html');
ik heb dit gedaan , en hij lijkt te werken ... moet nog wel even goed checken :D

<?php function template($replace,$source){
$replace=array ('nieuws_titel'=> 'voorbeeld1' ,'nieuws_bericht' => 'voorbeeld2');
$temp = file_get_contents($source);
foreach($replace as $key => $value){
$temp = str_replace('{'.$key.'}',$value, $temp);
}
return $temp;
}
$source = "test.html";
$voorbeeld = template($replace,$source);
echo $voorbeeld; ?>
ps.

als je de zin $replace = array . . . . .
In je functie hebt staan dan hoef je dat ook niet meer in de functie aanroep door te geven he.

Je zou (duidelijker) 2x het stukje template($replace,$source)

kunnen vervangen door : template($source)

Suc6
is gebeurd , weer wat geleerd :D

Reageren