PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   String und Variablen aus Datei lesen (http://www.selfphp.de/forum/showthread.php?t=22908)

TieKei 01.03.2010 01:35:35

String und Variablen aus Datei lesen
 
Hallo,
ich habe eine Struktur mit folgendem Format:
PHP-Code:

$v "1234";
$s "Test <p id=\"test\">$v</p>";
echo 
$s

soweit funktioniert dies, dank Doublequotes. Mein $s steht aber in einer Datei.
PHP-Code:

$v "1234";
$s file_get_contents("text.html");
echo 
$s

file_get_contents führt aber leider zu keinem Erfolg:
Code:

Test
$v

gibt es einen schicken Weg das zu realisieren? Anderes Thema, aber vielleicht in einem Schritt machbar: Ich möchte in der Datei die double-Quotes, falls möglich, nicht escapen müssen.

Ckaos 01.03.2010 03:17:20

AW: String und Variablen aus Datei lesen
 
Hi

preg_replace oder preg_replace_callback sollten dir als Werkzeuge die
Erarbeitung deiner Lösung ermöglichen.

mfg

Ckaos

TieKei 02.03.2010 23:25:49

AW: String und Variablen aus Datei lesen
 
Zitat:

Zitat von Ckaos (Beitrag 135003)
preg_replace oder preg_replace_callback sollten dir als Werkzeuge die Erarbeitung deiner Lösung ermöglichen.

Hey, danke für deine Antwort. Leider hilft mir ein replace mit regex nicht so richtig weiter, da es sich bei den eingelesenen Dateien um, von Benutzern erstellte, Templates handelt. Da wird der regex Ausdruck schnell ziemlich groß. Und ich kann nie sicher sein, jede "dumme" Eingabe abgehandelt zu haben.

Es müsste doch einen weg geben, die Datei als genauso einen "doublequoted-String" einzulesen, wie einer oben in meinem Beispiel. Noch mehr Vorschläge?

Ich bin auch sehr erstaunt, dass sich via Forumssuche und Google so wenig darüber finden lässt (vielleicht suche ich doof?)

Viele Grüße

Ckaos 03.03.2010 19:17:22

AW: String und Variablen aus Datei lesen
 
Hi

Zitat:

Zitat von TieKei (Beitrag 135028)
Da wird der regex Ausdruck schnell ziemlich groß. Und ich kann nie sicher sein, jede "dumme" Eingabe abgehandelt zu haben.

Das kannst du nie ;)
Warum soll der regex Ausdruck groß werden?
Langsam denk ich man muss immer Code bsp anfügen ;)

PHP-Code:

function varchange($var){
    
$a="ich bin ein a";
    
$b="ich bin ein b";
    return $
$var[1];
}
$text ='Was bist du? $a und was bist du? $b';
echo 
preg_replace_callback('/\$([^\s]*)/',"varchange",$text); 

Und nun nachdenken ;)

mfg

Ckaos

cortex 03.03.2010 19:34:19

AW: String und Variablen aus Datei lesen
 
Zitat:

Zitat von Ckaos (Beitrag 135038)
Langsam denk ich man muss immer Code bsp anfügen ;)

eine fix-und-fertig-lösung wäre den meisten sicher lieber... aber hey, das wird schon .-p

cx

TieKei 04.03.2010 23:29:45

AW: String und Variablen aus Datei lesen
 
Zitat:

Zitat von Ckaos (Beitrag 135038)
Und nun nachdenken ;)

Hey, manchmal geht mal einfach in die falsche Richtung, vielen Dank für den Wegweiser :)
Folgender Code löst mein Problem:
PHP-Code:

// an dieser Stelle (also vor dem echo!) werden die Variablen deklariert.
$variablen "foo";
...

$text file_get_contents("Text.html");
$pattern '/\$([a-zA-Z0-9]*)/';  //sucht nach "$" gefolgt von Alphanumerischen Zeichen (so sind Variablennamen sinnvollerweise aufgebaut)
$callbackFunction 'varchange';
echo 
preg_replace_callback($pattern$callbackFunction$text);

function 
varchange($var){
    global 
$sehr,$viele,$variablen;
    return $
$var[1];


Viele Grüße!


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:26:34 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.