Y yador Medlem sedan mars 2004 455 inlägg Frågan 12 maj 2008 17:01 #1 Hejsan!
Hur får man html koden av en webbsida? Exempel på vad jag vill ska gå:
//meny.php
print "meny:n";
//index.php
$meny = meny.php; //sidan kommer ligga på min egen webserver.
print $meny . "<h1>text</h1>"; // ska skriva ut "meny:n<h1>text</h1>";
Någon som har någon ide på hur man kan lösa det? Finns det någon färdig funktion för detta?
Tack på förhand!
C colione Medlem sedan juni 2001 4 421 inlägg kolla på include och/eller require.
Y yador Medlem sedan mars 2004 455 inlägg Nej alltså. Jag vill inte inkludera filen utan bara få ut data:n som den php filen skriver ut. Försöker nämligen skapa en webbsida där först en html sida läses som ser typ ut såhär:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><? @document.title ?></title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="description" content="<? @document.meta_description ?>" />
<meta name="keywords" content="<? @document.meta_keywords ?>" />
</head>
<body>
<div id="wrapper">
<div id="header">
</div>
<div id="meny">
<? @document.meny ?>
</div>
<div class="content">
<? @document.content ?>
</div>
<div id="bottom">
<? @document.bottom ?>
</div>
</div>
</body>
</html>
Där jag sedan hade tänkt ha att alla sidor ska läsa in denna och sedan ersätta alla <? @document.bottom ?> med något lämpligt värde. Såhär typ:
$temptags = array("<? @document.title ?>",
"<? @document.meta_description ?>",
"<? @document.meta_keywords ?>",
"<? @document.meny ?>",
"<? @document.content ?>",
"<? @document.bottom ?>");
$data = array("Muahaha", //sidans titel
"En sida om lite allt möjligt", //meta taggen med description värdet
"om sidan här", //meta taggen med keywords värdet
"<ol><li><a href=\"index.php\">Startsida</a></li></ol>", //sidans meny
"<h1>Hello world</h1>", //sidans innehåll
"Copyright © X.com"); //innehållet i bottom.
print str_replace($temptags, $data, file_get_contents(TEMPLATE_FILE));
Men kom på att det inte är någon bra ide då det kan bli lite krångligt att lägga till t.ex javascript kod. Därför hade jag tänkt att ha en php sida som skapar head innehållet och en som skapar body innehållet. Dessa filer ska sedan i sin tur vara uppbyggda på exakt samma viss. Sedan ska en fil fånga upp innehållet i varenda fil och sända det till besökaren. Jag tror att detta kallas template, men är osäker. Då måste jag som jag vet kunna anropa en annan php fil och spara dess output, eller?
C colione Medlem sedan juni 2001 4 421 inlägg ob_start();
include('file.php');
$inc = ob_get_contents();
ob_end_clean();
Då exekveras sidan och du får ut outputen av phpn och lagrar den i $inc. Vill du läsa in en fil utan att exekvera den:
$inc = implode('', file('file.html'));
sen kan du göra vad du vill med $inc.
T The_Hulk Medlem sedan juni 2003 1 837 inlägg