Mailinglisten-Archive |
Hallo Michael, mstenz-design at web.de schrieb: > Hallo Zusammen, > > > ich möchte, falls in einem Text eine bestimmte Zeichenfolge (z.B. [Addon|Login]) vorkommt, dass genau an dieser Stelle (vor und danach ist es möglich, dass Text vorhanden ist) ein include durchgeführt wird. > > $content = preg_replace( "'\[Addon|Login\]'" , include('site/login.php') , $content ); // Login > > Bei obigem Versuch von mir, wird das include IMMER durchgeführt. Egal ob der geforderte String vorkommt, oder nicht. > Gibt es eine Möglichkeit dies zu lösen (vielleicht auch anders). Kommt darauf an, was in der login.php drin ist. Wenn nur statischer HTML-Code drin ist: Datei vorher auslesen, in Variable schreiben und preg_replace entsprechend anpassen. Wenn php Code in login.php ist, kannst du: a) wenn es nur auf den Output ankommt: mittels ob_* den Output abfangen und in eine Variable schreiben b) wenn es auf den Code ankommt einfach vorher includen Alternativ kannst du noch vorher ein <snip> if (preg_match("'\[Addon|Login\]'",$content) { replace, include, usw... } </snip> einbauen. Performanter wäre vielleicht doppeltes strstr() HTH, regards, Andi
php::bar PHP Wiki - Listenarchive