PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Inhalt einer Datei auslesen


JuliusCaesar
03.07.2008, 00:26:46
hey, ich ba ein email template dass cahut so aus
<html>
<head>
<title>%title%</title>
<style type="text/css">
body
{
background-image: url(./img/letter_bg1.jpg);
background-color:#E0E0F8;
background-attachment:scroll;
background-repeat:no-repeat;
}
</style>

</head>
<body>
%body%
</body>
</html>

so nun hab ich 2 Fragen:
1)wie kann ich das am besten auslesen und in ner variable speichern
2)wie kann ich %title% und %body% druch die jeweiligen texte ersetzten, soll ich da mit str_replace ran, oder gibts da bessere Methoden (hab bisher noch nie templates benutzt...)

mfg JuliusCaesar

Domi
03.07.2008, 00:54:55
Guten Morgen,

also wenn du mit Templates arbeiten willst, würde ich dir SMARTY empfehlen. Eine Datei öffnen kannst du mit fread() (http://de.php.net/fread) (Beispiele im Link).

Wenn du teile eines Strings ersetzen willst kannst du das am besten mit Regulären Ausdrücken (http://tut.php-quake.net/regex.html) und entsprechenden regex-replace-funktionen machen. Für kleine Sachen kannst du auch str_replace() (http://de.php.net/str_replace) verwenden.

Greetz und einen schönen Tag.

Domi

JuliusCaesar
03.07.2008, 02:14:07
hey
danke hab mal auf den manual link geklickt und muss sagen fread sieht vielversprechend für meine zwecke aus^^



also wenn du mit Templates arbeiten willst, würde ich dir SMARTY empfehlen.
also smarty kenn ich nur vom hören sagen, ich habs mir mal runtergeladen
hab auch mal schon ein bissel geggolt und das hier gefunden (http://tut.php-quake.net/template.html).
Den ersten Teil verstehe ich noch
aber ich verstech noch nicht ganz genau wie ich schleifen mit smarty wiedergebe

nehmen wir z.b mal das hier
{foreach from=$newsbeitraege item=newsbeitrag}

würde das in php "übersetzt" lauten
foreach($newsbeiträge as $newsbeitrag)....

??


PS:an ne regex zum ersetzten hab ich auch schon gedacht
aber regex haben die dumme angewohnheit mir immer probleme zu machen :(

dir noch ne gute Nacht
werd jetzt gleich schlafen gehen ;)

Socrates
03.07.2008, 02:43:05
fopen() ist hier denke ich nicht das Richtige. versuchs mit file_get_contents(). Das ließt eine Komplette Datei in einen String ein.
MfG, Andy

7Stlye
03.07.2008, 12:54:25
Hi,

könnte dir villeicht helfen :


$content = file_get_contents('templatename.html');
$titel = 'Titel';

$content = str_replace('%Titel%',$titel,$content);

$neueDatei = fopen('dateiname.html','w');
if(fwrite($neueDatei,$content))
{
echo 'Datei erfolgreich angelegt';
}

JuliusCaesar
03.07.2008, 17:20:30
hey ich danke euch, hat super geklappt !!!