Was ist der beste Weg, um einen einfachen Text (nicht PHP-Code) zu nehmen, der Variablen im PHP-Stil enthält, und dann den Wert der Variablen zu ersetzen? Das ist schwer zu beschreiben, also hier ist ein Beispiel.
%Vor% Ich habe erwogen, eine Regex oder vielleicht eval()
zu verwenden, obwohl ich mir nicht sicher bin, was am einfachsten wäre. Dieses Skript wird nur lokal ausgeführt, so dass alle Sorgen bezüglich Sicherheitsproblemen und eval()
nicht zutreffen (denke ich?) .
Ich füge auch einfach hinzu, dass ich alle notwendigen Variablen in ein Array bekommen kann, indem ich get_defined_vars()
:
Regex wäre einfach genug. Und es wäre nicht wichtig, dass eval()
einen Syntaxfehler in Betracht zieht.
Hier ist das Muster, um Variablennamen im PHP-Stil zu finden.
%Vor% Ich würde wahrscheinlich dieses allgemeine Muster nehmen und ein PHP-Array verwenden, um jedes gefundene Match nachzuschlagen (mit ( preg_replace_callback()
). Auf diese Weise muss der Regex nur einmal angewendet werden, was auf lange Sicht schneller ist .
Abhängig von der Situation könnte str_replace die Lösung sein.
Beispiel:
%Vor%Wenn Sie sich str_replace ansehen, beachten Sie, dass Such- und Ersetzungsparameter Arrays von Werten enthalten können, nach denen gesucht und ersetzt wird.
Sie könnten strtr verwenden:
%Vor%Wahrscheinlich möchten Sie das Voranstellen in get_defined_vars () durchführen, damit Sie die Variablen nicht zweimal durchlaufen. Oder noch besser: Stellen Sie sicher, dass alle Schlüssel, die Sie zuweisen, mit dem Bezeichner übereinstimmen, den Sie in myFile.txt verwenden.
Tags und Links php variables substitution