string -> html
Ik wil graag een html code die ik als string heb graag als HTML zien, hier kan niemand wat mee ik probeer het met een code te laten zien:
als ik bv de html code {-test-} in een html bestand zet word hij met behulp van een str_replace en php bestand geconvert naar de tekst "dit is een test"
test.html bestand.
php bestand
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$replace_array = file_get_contents("test.html");
$replace_array = str_replace( "{-test-}", $pagina_test, $replace_array);
$pagina_test = "Dit is een test";
?>
$replace_array = file_get_contents("test.html");
$replace_array = str_replace( "{-test-}", $pagina_test, $replace_array);
$pagina_test = "Dit is een test";
?>
testen onder een browser(het html bestand) geeft dan deze output:
Dit is een test
Nu wil ik dus met een code nog een code laten gebruiken dus bijvoorbeeld:
Code (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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
switch($_GET['pagina']) {
case "pagina1":
$pagina_content = "{-test_2-}";
break;
case "pagina2":
$pagina_content = "{-test_3-}";
break;
default:
$pagina_content = "{-test_1-}";
break
}
$replace_array = file_get_contents("test.html");
$replace_array = str_replace( "{-test_aantal-}", $pagina_content, $replace_array);
$replace_array = str_replace( "{-test_1-}", "Dit is pagina 1", $replace_array);
$replace_array = str_replace( "{-test_2-}", "Dit is pagina 2", $replace_array);
$replace_array = str_replace( "{-test_3-}", "Dit is pagina 3", $replace_array);
?>
switch($_GET['pagina']) {
case "pagina1":
$pagina_content = "{-test_2-}";
break;
case "pagina2":
$pagina_content = "{-test_3-}";
break;
default:
$pagina_content = "{-test_1-}";
break
}
$replace_array = file_get_contents("test.html");
$replace_array = str_replace( "{-test_aantal-}", $pagina_content, $replace_array);
$replace_array = str_replace( "{-test_1-}", "Dit is pagina 1", $replace_array);
$replace_array = str_replace( "{-test_2-}", "Dit is pagina 2", $replace_array);
$replace_array = str_replace( "{-test_3-}", "Dit is pagina 3", $replace_array);
?>
De output hier van word telkens : {-test_1-} of {-test_2-} of {-test_3-}. (het ligt er dus aan welke pagina je zit)
maar kun je ook zeg maar dit met een php code laten zien als een html codes???
vergelijk het met een omkerings code zoals html_entity_decode() , of htmlentities() dus dat hij hij het ziet als HTML en geen string..
alvast bedankt..
als ik hier wat fouts doe hoor ik het graag! wil het graag verbeteren!
Gewijzigd op 01/01/1970 01:00:00 door Yoram
Gewoon een eigen versie van Template power.
Mare dan doe je toch iets fouts?
In jouw .html bestand staat bv. {-content-}. Dit blijft {-content-} en dat verschilt niet per pagina. Jij str_replaced gewoon telkens {-content-} met de tekst die bij die pagina hoort. Toch?
Ik snap het idee niet helemaal en waarom gebruik je niet fopen?
fopen is niet het probleem. Het openen gaat prima. Hij wil een betere manier hebben om de pagina's te replacen etc.
Wil hij de html tags van de pagina af slopen en 1 bepaalt deel ervan weergeven?
En wat ik hier nu mee wil bereiken is dat als ik een pagina in me CMS aanmaak dat ik die code in een textarea neer zetten zo dat hij dat automatisch als z'n code gezien word en dan automatisch de html van bv een gastenboek of nieuws berichten krijg.
ik kan dan kant en klare scripts met behulp van die code gebruiken.
Alle pagina's (tekst) worden in de database opgeslagen?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
switch($_GET['pagina'])
{
case "pagina1": $pagina_content = "Pagina 1";
break;
case "pagina2": $pagina_content = "Pagina 2";
break;
default: $pagina_content = "Default Pagina";
break;
}
$pagina = file_get_contents("test.html");
$pagina = str_replace( "{-test-}", $pagina_content, $pagina);
echo $pagina;
?>
switch($_GET['pagina'])
{
case "pagina1": $pagina_content = "Pagina 1";
break;
case "pagina2": $pagina_content = "Pagina 2";
break;
default: $pagina_content = "Default Pagina";
break;
}
$pagina = file_get_contents("test.html");
$pagina = str_replace( "{-test-}", $pagina_content, $pagina);
echo $pagina;
?>
@SanThe, Jaa dat doet hij ook alleen die code die hij uit een variable of database haalt ziet hij als gewone tekst en geen html ofzo.. (hij ziet ze zoals ik dit bericht nu typ)
ps sorry voor de bar slechte uitleg:$
Gewijzigd op 01/01/1970 01:00:00 door Yoram
Als je van "Default Pagina" even "<b>Default Pagina</b>" maakt, dan is het toch bold. Dus gewoon html werkt toch. Ik snap je probleem niet.
Je gooit toch gewoon:
in je database?
maar ik heb bijvoorbeeld een gastenboek in een map staan.. die word automatisch geinclude alleen je ziet hem pas als je hem aanroept.. ik wil zeg maar dat gastenboek op een plaats zetten met behulp van z'n html code ( bv. {-plugin_gastenboek-} ) zo dat ik niet eerst helemaal codes moet gaan aanroepen. maar alleen die html code.
test dit eens dan snap je het misschien wel..:
maak een html bestand aan en een php bestand in de html bestand zet je in de body {-tester-} neer.
in het php bestand zet je neer :
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
switch($_GET['pagina'])
{
case "gastenboek": $pagina_content = "{-gastenboek-}"; //om je gastenboek te laten zien.
break;
default: $pagina_content = "Default Pagina";
break;
}
$pagina = file_get_contents("test.html");
$pagina = str_replace( "{-test-}", $pagina_content, $pagina);
$pagina = str_replace( "{-gastenboek-}", "Hier komt je gastenboek te staan maar dit is een test", $pagina);
echo $pagina;
?>
switch($_GET['pagina'])
{
case "gastenboek": $pagina_content = "{-gastenboek-}"; //om je gastenboek te laten zien.
break;
default: $pagina_content = "Default Pagina";
break;
}
$pagina = file_get_contents("test.html");
$pagina = str_replace( "{-test-}", $pagina_content, $pagina);
$pagina = str_replace( "{-gastenboek-}", "Hier komt je gastenboek te staan maar dit is een test", $pagina);
echo $pagina;
?>
Nu zal hij op de eerste pagina (default pagina) gewoon default pagina laten zien. maar als ik in de url intik index.php?pagina=gastenboek, Dan ZOU hij meoten laten zien " Hier komt je gastenboek te staan maar dit is een test " alleen dat doet hij niet hij weer geeft dan {-gastenboek-}.
maar als ik {-gastenboek-} onder {-test-} neer zet in het html bestand dan laat hij zien:
default pagina Hier komt je gastenboek te staan maar dit is een test.
dus dan doet hij het wel. en daar blijf ik dus haken
Dit werkt toch.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
switch($_GET['pagina'])
{
case "pagina1": $pagina_content = "Pagina 1";
break;
case "gastenboek": $pagina_content = "Gastenboek";
break;
default: $pagina_content = "Default Pagina";
break;
}
$pagina = file_get_contents("test.html");
$pagina = str_replace( "{-test-}", $pagina_content, $pagina);
echo $pagina;
?>
switch($_GET['pagina'])
{
case "pagina1": $pagina_content = "Pagina 1";
break;
case "gastenboek": $pagina_content = "Gastenboek";
break;
default: $pagina_content = "Default Pagina";
break;
}
$pagina = file_get_contents("test.html");
$pagina = str_replace( "{-test-}", $pagina_content, $pagina);
echo $pagina;
?>
maar ik wil dan een heel gastenboek zien. zonder dat ik daar eerst een hele code in hoef te zetten.
case "gastenboek": $pagina_content = file_get_contents('gastenboek.php');
ik zal het eens testen!!