ich hab n leichtes Problem mit einem Template System.
Und zwar habe ich eine Anzahl von zu ersetzenden Wörtern in einem Array stehen, und weis nicht wie ich die Wörter nacheinander im template file ersetzen kann. Ich hab das testweise erstmal ohne template datei mit einem kurzen text in ner variable gemacht.
l_de_main.php
index.php
Ich weis schonmal dass "$content = str_replace($l_de_main, $l_de_main, $satz);" falsch ist, weis nicht wie ich das loesen kann.
Edit: Eine Lösung wäre, dass ich 2 Arrays mache und die miteinander abgleiche, aber das wäre ein ziemlicher Mehraufwand.
Ich hab auch schon überlegt die Satzteile in einer Datenbank zu speichern. Ich bin mir aber nicht sicher was effektiver ist, mysql tabelle oder datei.
Ich hab's einmal in einem professionellen CMS so gesehen: $content = str_replace(array_keys($l_de_main), array_values($l_de_main), $satz);
Sollte funktionieren.
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
Danke, ich hab es mal ausprobiert, funktioniert aber leider nicht.
Ich hab es auch mal über umwege versucht, aber wenn ich die array keys bzw values in index.php ausgebe steht da nur 'Array'
index.php
l_de_main.php
Die Ausgabe ist wie folgt:
Klappt nicht weil: hat doppelte Anführungszeichen, dadurch wird {$TITLE} durch den Wert der PHP Variable $TITLE ersetzt.
Lösungsmöglichkeit 1: ' verwenden.
Lösungsmöglichkeit 2: Smarty verwenden. (hat genau diese Syntax, unterstützt aber auch Funktionen und Methoden )
danke habs mittlerweile schon hinbekommen, indem ich eben die Variablen Namen geändert habe und die Arrays anders erstelle.
Allerdings wurde ich auch schon woanders darauf hingewiesen, ein fertiges template system zu verwenden, was ich aber eigentlich nicht möchte, sich wohl aber nicht vermeiden lässt, weil selber schreiben scheint zu kompliziert.
Allerdings auf keinen Fall mehr smarty, das habe ich vorher benutzt und war sehr unzufrieden. Kann mir jemand ein anderes template system empfehlen?
Edit: Hier noch der Weg wie ich das Problem gelöst habe, die Werte werden nun Außerdem aus einer Datenbank ausgelesen.
Ich verstehe nicht, warum du nicht einfach das Array durchiterierst und bei jedem Durchgang die Ersetzen-Funktion aufrufst? Oder auf die DB-Lösung angewandt:
Ich bin schon unheimlich lange aus PHP draußen, deshalb nicht schimpfen, wenn ich da irgendwas falsch verstanden habe. (;
Mal nebenbei bemerkt: Ich würde nicht für jede Sprache eine eigene Tabelle benutzen, sondern einfach ein Feld mit der Info. Der Primärschlüssel setzt sich dann aus Sprache und Ersetzungsmuster zusammen.
ich code gerade eine einfach Seite in Html und css, dabei hab ich nun folgendes Problem,
die Seite soll 3 Spalten besitzen.
Mein Problem besteht dadrin, dass wenn ich in die "mittlere Spalte" , einen sehr langen Text schreibe, das die seitlichen Spalten sich von der Höhe nicht anpassen, weswegen ich mir überlegt habe, einfach den umschließenden div, in diesem Fall "content" einfach die gleiche Background Farbe zu geben, aber irgendwie hat, das immernoch keine Auswirkung.
Um mein Problem besser zu veranschaulichen hier ein Screen.
Floating divs haben die Angewohnheit, auch über die Größen des Elternelements zu gehen. Mach ganz zum Schluss ein <div style="clear: both;"></div> hin, dann passts.
bräuchte mal Hilfe mit meinem neuen Design.
Und zwar möchte ich es vermeiden, der content-div box eine feste größe zuzuweisen. Aber da in dieser Box bis auf weiter boxen kein Inhalt wie text steht, taucht die box garnicht erst auf wenn ich keine feste Größe zuweise, hat jemand eine Idee?
http://www.rdn-online.com/hosted/test/index.html
Dann habe ich noch eine Frage bzgl.
Und zwar verstehe ich nicht so richtig was es mit diesem xmlns="..." auf sich hat, der Validator hat mir das so vorgeschlagen und ich habe mir das alles durchgelesen was da stand aber den Sinn doch nicht verstanden, kann jemand das einfach erläutern?
Ich weiß gar nicht, wo man da am Besten anfangen kann, da dort doch recht viele Fehler drinnen sind.
Ich hab mal auf die Schnelle die Webseite nachgebastelt. Das liegt im Anhang als Zip-Datei.
Transparenz ist noch so ne Sache. Da kann man lieber auf einen alten Trick zurückgreifen:
Man nehme eine .png Datei, die 1x1 Pixel groß ist, mit einem Alpha-Kanal und benutzt dieses als Hintergrund.
Diese ganze z-index Geschichte braucht man auch nicht und band1, band2, ... kann man auch zusammenfassen.
(Muss aber zugeben, dass meine Kenntnisse ein wenig eingerostet sind, da ich kein Bock mehr auf diesen Mist Webentwicklung habe)
xmlns heißt "XML Namespace". Um das zu verstehen, muss man wissen, dass HTML auf XML basiert. Der Namespace wird verwendet, um das Vokabular eindeutig zu identifizieren.
Alle Elemente zwischen den Element-Paar <html> gehören in deinem Fall zum Namensraum "xhtml". Namensräume werden aber erst wichtig, wenn man mehrere XML-Sprachen mischen möchte. Es gibt ja mehr Sprachen, als nur HTML, die auf XML basieren. Ein Problem, was nämlich auftauchen kann, wenn man zwei Sprachen mischen möchte, die teilweise die selben Elementnamen besitzen. Ein Parser hätte Probleme, die Elemente richtig der Sprache zuzuordnen.
Mit diesem Namespace-Mechanismus hätte man nun die Möglichkeit, die Sprachen von einander zu trennen.