1Danke
ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
1308
1308
EMPFEHLEN
-
Hallo Liebe Forumgemeinschaft,
Ich suche schon eine ganze Weile nach einer Lösung meines Problems welches ich euch nun nicht mehr vorenthalten möchte.
Ich versuche einen include durch einen Platzhalter auszuführen aber es möchte mir nicht gelingen, meine suche unter Google brachte immer nur eval() hervor aber jeder meinte auch das man die Finger weglassen soll da es unsicher ist.
Code :1 2 3 4 5 6 7
$Abfrage = mysql_query("SELECT * FROM Tabelle") or die (mysql_error()); $Result = mysql_fetch_object($Abfrage); echo $Result->Inhalt; //Ausgabe //<p>Hallo ich bin Text</p> [B][TAB][/B]<p>Ich bin weiterer Text</p>
Nun Probiere ich [TAB] durch einen include zu ersetzten da der Inhalt der ja ersetzt werden soll ziemlich groß ist.
Ich hoffe mir kann jemand behilflich sein
Mif freundlichen Grüßen
Aragon83Wer zuletzt lacht.......denkt zu langsam
-
23.09.09 20:59 #2
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Was macht das Script denn genau, das included werden soll? Gibt es den Text, der in [TAB] reinkommen soll, mittels echo aus? Dann kannst du vielleicht mit ob_start() und ob_get_contents() was machen. Wenn "nur" eine Variable gefüllt wird, kannst du mittels preg_replace() arbeiten.
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Hallo Saftmeister,
ja das Script welches includet wird gibt echo teile aus, es sind nämlich zwei weilschleifen darin und das ist ja das Problem denn ich wollte es mit dem Platzhalter Tauschen.
Zum Sinn:
es soll eine TabNavigation includet werden.
Gibt es denn eine Möglichkeit den Inhalt zu splitten den include zu setzen und den String wieder zusammenzufügen und ihn dann auszugeben
Danke für deine Antwort MFGWer zuletzt lacht.......denkt zu langsam
-
Hab es nach vielen Probieren hinbekommen nun endlich
natürlich möchte ich euch die Lösung nicht vorenthalten.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
$ToQuery = "SELECT * FROM `Tabelle` WHERE (`Kategorie` LIKE BINARY '$Kategorie') AND (`ID` LIKE BINARY '1') OR (`ID` LIKE BINARY '$ID') AND (`Kategorie` LIKE BINARY '$Kategorie')"; $SwitchInhalt = SqlMultie($Praefix,$ToQuery,1); $ResultInhalt = mysql_fetch_object($SwitchInhalt); $Inhalt = "echo '"; $Inhalt .= $ResultInhalt->Inhallt; $TabReplace = " '; ?><?php \$Replacer = include(\"Pfad zur Datei\"); ?><?php echo ' "; $ArraySuche = array("[TAB]"); $ArrayErsetze = array("$TabReplace"); $Inhalt .= "';"; //Ausgabe des Inhalltes $OutPut = str_replace($ArraySuche,$ArrayErsetze,$Inhalt); eval("$OutPut");
Danke aber MFGWer zuletzt lacht.......denkt zu langsam
-
eval is evil. Das liest du in diesem Forum überall und dabei bleibts.
Sieh dir mal folgendes an (was ebenfalls oft in diesem Forum genannt wird):
Das kostet weniger und saftmeister hat es dir schon einmal empfohlen.PHP-Code:// Ausgabepuffer an
ob_start();
// Skript ausführen
include('der_code.php');
// Ausgabe aus Puffer holen
$inhalt = ob_get_contents();
// Puffer schließen
ob_end_clean();
// Ersetzen
$deine_sachen = str_replace("[TAB]", $inhalt, $deine_sachen);
Geändert von ZodiacXP (24.09.09 um 16:11 Uhr)
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
Hallo und danke für deine Antwort,
Also ich dachte das eval() nur gefährlich ist wenn der php code der ausgeführt wird sich in der Datenbank befindet (Dieses tut er aber nicht)
zudem habe ich deinen Vorschlag natürlich ausprobiert und bin begeistert allerdings funktioniert er nicht mehr wenn mehrere verschiedene Platzhalter gesetzt sind hast du eine Idee wie ich das Filtern kann
MFG
Aragon83Wer zuletzt lacht.......denkt zu langsam
-
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
Also wie oben in meiner Frage schon beschrieben hole ich den Inhalt aus einer Datenbank
Code :1 2
//Ausgabe <p>ich bin eine Menge Text</p> [TAB]<p>Ich bin weiterer Text</p>[Show]<p>Ich bin auch noch text</p> [Form]
So in etwa soll es Laufen, nun die Platzhalter kann ich ja via Array Übergeben aber wie finde ich Raus welcher Include zu welchem Platzhalter gehört
Danke schon mal
MFGWer zuletzt lacht.......denkt zu langsam
-
Wie gut das es keine Frage ist, denn ich hätte sie nicht verstanden

Die includes sind doch sauber getrennt:
Bist du dir sicher, dass du es über die Ausgabe der Skripte lösen willst?PHP-Code:ob_start();
include('der_code.php');
$inhalt = ob_get_contents();
ob_end_clean();
ob_start();
include('anderer_code.php');
$show = ob_get_contents();
ob_end_clean();
// ... usw
Was spricht dagegen in den eingebundenen Dateien einfach eine Variable zu erzeugen?
(PHP arbeitet hier nicht nach der Algol-Sichtbarkeit)
foo.php:
index.php:PHP-Code:$welt = "World!";
$show = ... // Datenbankabfrage
Ausgabe:PHP-Code:include('foo.php');
echo "Hallo" . $welt;
Code :1
Hallo World!
Geändert von ZodiacXP (24.09.09 um 20:03 Uhr)
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
Danke für deine Antwort ich werde es gleich mal ausprobieren
ich versuche es mal zu erklären
Ich habe einen Inhalt in der Datenbank der aus Text und HTML Code besteht dieser Text enthält Platzhalter an verschiedenen Stellen ([TAB],[Show] usw...).
Diesen text speichere ich in der var $Inhalt und möchte nachträglich die Platzhalter mit zb. einer Navigation oder einen Formular austauschen.
wie ein Template-SystemWer zuletzt lacht.......denkt zu langsam
Ähnliche Themen
-
[MSACCESS + SQL] Platzhalter durch mehrere Einträge ersetzen
Von fryeah im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 12.05.10, 14:04 -
Platzhalter durch Array-Wert ersetzen (preg_replace)
Von BLC im Forum PHPAntworten: 2Letzter Beitrag: 21.04.10, 12:46 -
[RegEx] platzhalter durch wert aus array ersetzen
Von Templorials im Forum PHPAntworten: 1Letzter Beitrag: 13.11.09, 19:58 -
Platzhalter in Templatedatei, Ersetzen mit PHP Code klappt nicht
Von solar22 im Forum PHPAntworten: 7Letzter Beitrag: 10.04.09, 16:41 -
code durch anderen code ersetzen; seo
Von Freakz91 im Forum PHPAntworten: 7Letzter Beitrag: 08.05.08, 15:06





Zitieren


Login






[PHP][Snippet] Array zu XML konvertieren