htmldtaei einlesen und variablen mit werten ersetzen
-
hallo
ich schreibe gerade ein cgi prog. in c
und möchte die darstellung in einzelnen htmldateien speichern.
nun wie ich die datei einlesen muss weiss ich,
aber wie kann ich die variablen mit $ deklariert mit den werten ersetzen ?zb.
<table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td> <div align="left"> <b> $LANG[mail_bypass]</b> </div> </td> </tr> </table> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="50%"> <div align="left"> $LANG[email]: </div> </td> <td>$error[mail_bypass] <input type="text" value="$INPUT[mail_bypass]" name="mail_bypass" size="24"> </td> </tr> </table>
gruss van
-
Wenn du dir die Inhalte dieser Variablen besorgt hast, ist der rest simple Stringersetzung.
Such den Variablennamen wenn du ihn gefunden hast (der Anfang ist einfach $ das Ende ?) ersetzt du den Namen inclusive des $ mit dem Inhalt der Variablen, Aber sei vorsichtig bei Kommentare, da besser nicht ersetzen und Strings im Programm die wie Variablen aussehen, diese nicht ersetzen.Sonst Viel Spaß
-
ja aber wie mache ich das
NULL ahnung
bin noch ziemlich neu,
habe immer mit php programiert !gruss van
-
Am besten wechselst du in das C++ Forum und fragst da noch mal, Für deine Arbeiten scheint die string Klasse mehr als hilfreich zu sein.
-
geht den das nicht in c ???
mit php funktioniert ja das auch irgendwie und das ist in c programmiert oder ???
nur kann ich dort die file gleich öffnen!!! PHP CODE !!! eval("\$result =\"".Funktion: Hole htmldatei."\";"); echo $result;
und die variablen die im programm deklariert sind,
werden da gleich ersetzt,man kann dann sogar einen aufruf
einer funktion in die html datei setzten zb. blabla() und der fürt dann das
aus mit eval(....).
die variable die nicht deklariert ist nimmt die funktion einfach heraus
und ersetzt sie mit nichts.wie krieg ich sowas hin in c für maine zukünftigen programme ???
-
natürlich geht es auch in C.
Verfahren ist stocksimpel:
1 Variablennamen und Inhalt holen und in eine Array speichern 2 Input und Output File öffnen 3 Solange Zeilen lesen bis InputFile zu Ende dabei 3.1 Zeile Lesen 3.1 Solange in jeder Zeile Wiederholen bis alle Variablen in dieser Zeile ersetzt sind 3.1.1 in jeder Zeile suchen ob eine Variable vorhanden ist. 3.1.2 String an der Fundstelle in 3 Teile brechen teil1 bis Variable, teil2 Variable, teil 3 nach Variable 3.1.3 Neuen String zusammensetzen bestehend aus teil 1, Inhalt von Variable, teil3 3.2 String ins OutputFile rauschreiben. 4 Input/Output Files schließen.
Die Funktionen um das zu tun sind IMHO in C++ in der String Klasse schon vorhanden.
Für C müstest du dir diese teilweise selber schreiben, deswegen der Hinweis auf das C++ Forum.
P.S. solche Ersetzungen werden typischerweise von AWK/SED excellent gelöst, dafür gibt es auch Ports für Windows
-
ja das ist mir schon irgendwie klar aber genau bei den punkten
3.1 Solange in jeder Zeile Wiederholen bis alle Variablen in dieser Zeile ersetzt sind
3.1.1 in jeder Zeile suchen ob eine Variable vorhanden ist.
3.1.2 String an der Fundstelle in 3 Teile brechen teil1 bis Variable, teil2 Variable, teil 3 nach Variable
3.1.3 Neuen String zusammensetzen bestehend aus teil 1, Inhalt von Variable, teil3
3.2 String ins OutputFile rauschreiben.weiss ich nicht wie ich das erledigen kann mit code
wie finde ich heraus ob überhaupt eine variabel drin ist
zb. die variabel $LANG[mail_pass] ?
und wie ersetze ich die genau !!!oder weist du einen link wo ich ein code beispiel sehe ???
-
Dafür muss man die Vokabeln einer sprache lernen.
Um dies zu tun gibt es Handbücher und Tutorials, Verweise auf gute Handbücher und gute Tutorials findest du hier im Forum en masse.
-
ich habe c in 21 tagen reicht das nicht ???
-
da sollte eigentlich genug drinstehen, den Rest findest du in der Online Hilfe
(Allerdings kenne ich selber das Buch nicht)
-
also ich habe jetzt das erledigt.
aber ich habe jetzt einen string extrahirt zb.
mail_bypass wie kann ich jetzt die globale variabel mail_bypass mit wert
mit dem string mail_bypass abrufen ???danke für deine mühe.
van
-
siehe 3.1.3
-
aber wie krige ich mit dem string var = mail_bypass den wert ???
strncat(var,str1,pos-str1); //hier ist variabel var = mail_bypass // wie finde ich jetzt die globale variabel mail_bypass mit dem // inhalt von var also mail_bypass
grus van