Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » PHP -> replace Antworten
PHP -> replace

ATooM
Quasselstrippe


Beiträge: 346


Hallo,
ich habe ein Problem!

Es gibt einen text in dem steht irgendwo <logout> an der Stelle, wo logout steht soll der PHP - Code <? session_destroy(); ?> reinkommen... Wie mach ich das am besten ?

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


Hm...kannst du das noch etwas genauer beschreiben? Willst du abfragen, ob in einer Variable "<logout>" steht und dann die session freigeben?

Can

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren

ATooM
Quasselstrippe


Beiträge: 346


Es gibt einen Text, der in der Mysql Datenbank steht. Diesen Text frage ich nun ab. An einer Stelle in dem Text steht "<logout>" und die Stelle soll dann mit der PHP Funktion ersetzt werden.

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren

c3o
Posting-Schinder


Beiträge: 586


eval(str_replace('<logout>', '<? session_destroy(); ?>', $text));

[ Diese Nachricht wurde ge&auml;ndert von: c3o am 2002-12-30 16:53 ]

  Profil   E-Mail   Website   Editieren   Zitieren

ATooM
Quasselstrippe


Beiträge: 346


Das eval wofür steht das ?

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren

ATooM
Quasselstrippe


Beiträge: 346


ausserdem funktioniert das nicht ganz eher gesagt garnicht

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren

einstein
Quasselstrippe


Beiträge: 241



ATooM schrieb am 2002-12-30 19:54 :
Das eval wofür steht das ?

Klick auf den Link, dann weißt du es
eval -- Evaluate a string as PHP code


So falsch scheint mir das aber gar nicht, gibt es eine Fehlermeldung oder ähnliches oder passiert einfach nur nichts? Dann liegt das vielleicht daran, dass das nicht ganz richtig eingebunden worden ist.

  Profil   Editieren   Zitieren

ATooM
Quasselstrippe


Beiträge: 346


<B>
Parse error: parse error in c:apachehtdocslosefunction.inc.php(55) : eval()'d code on line 1
</b>

Das ist der Fehler.

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren

ATooM
Quasselstrippe


Beiträge: 346


Woran könnte das liegen ?

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren

c3o
Posting-Schinder


Beiträge: 586


Zeig uns doch mal $text ...

  Profil   E-Mail   Website   Editieren   Zitieren

ATooM
Quasselstrippe


Beiträge: 346


da steht jetzt nicht viel drin ausser
<logout>

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


Kein Wunder....

$text=str_replace('<logout>', '<? session_destroy(); ?>', $text);
eval($text);

Was steht jetzt in $text?

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


Neue Variante:

eval(str_replace('<logout>', 'session_destroy();', $text));

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren

ATooM
Quasselstrippe


Beiträge: 346


Bei beiden varianten immer noch der fehler !

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren

Can
Halbgott


Beiträge: 1330


Puh....

echo "$text vor Ersetzung: " . htmlspecialchars($text) . "<br>n";
$text=str_replace('<logout>', 'session_destroy();', $text);
echo "$text nach Ersetzung: " . $text;

eval($text);

Post mal die Ausgabe.

Natürlich ist es auch so, dass in $text nur <logout> stehen darf, wenn da noch mehr steht, wird das ebenfalls auszuführen versucht.

---
"S-púrlawits'chkâ A-ngáse gûrewüdíx" - Zaphrot Bibelprox

  Profil   E-Mail   Editieren   Zitieren
Seite 1 | 2  

Antworten
Nach oben