PHP Script einlesen und Strings ersetzen

hoctar

Erfahrenes Mitglied
Hallo,
ich habe einen Ordner voller PHP Scripts, nun möchte ich jede Datei auslesen und jeden gefundenen String mit einer Funktion ersetzen.

Ein kleines Beispiel:
PHP:
echo "Ich bin ein String";
$string = "ich auch";
$str='undich';
HTML:
<div>Mich auch umwandeln bitte</div>

Nun möchte ich alle 'Strings' durch:
PHP:
lang('string hier');
ersetzen.

Hat jemand eine Idee, wie das zuschaffen ist ?
 
Zuletzt bearbeitet:
Wozu um Gottes Wille willst du den sowas machen.....
Nord-Süd-Richtung hat recht.
Falls du Fragen zu Regulären AUsdrücken hast, dann schau dich zuerst mal im Forum um. Etwa jeder 4te bis 5te Thread im PHP-Forum handelt davon. Es sind also viele Beispiele da.
 
Wozu um Gottes Wille willst du den sowas machen.....
Die lang Funktion ersetzt später den String durch eine andere Sprache.

Okay .. wie formuliere ich nun "Alles was zwischen " " und ' ' steht und davor ein = Zeichen stehen hat ?

Code:
/\=+s["(.*)"]|['(.*)']/
So vllt ?
 
Hier gibts einen Beitrag über Übersetzungen. Vergiss dein Ansatz. Er ist nicht gut.
Inhalte in Code zu übersetzen...
 
Hi

du solltest zunächst den zu suchenden String finden. Da du warscheinlich mehrere Strings in einer Datei ersetzen willst, nimmst du preg_match_all. Da du dich ja bemüht hast:
PHP:
$pattern = "/[a-zA-Z0-9\($]*(?<str>\"[a-zA-Z0-9\\']*\")\)?;/";
preg_match_all($pattern,$str,$match);
var_dump($match);

findet:
echo "hi";
funktion("hallo");
$str = "str";

Am besten mal die Ausgabe von var_dump() betrachten. Du musst jetzt nur noch preg_replace anwenden, kannst das selbe pattern nutzen.
 
Hier gibts einen Beitrag über Übersetzungen. Vergiss dein Ansatz. Er ist nicht gut.
Inhalte in Code zu übersetzen...
Wieso ist dieser nicht gut ?
Ich benutze gettext und po files.

Und um nun gettext benutzen zu können, muss ich alle meine Strings im code durch die Funktion gettext oder eben lang ersetzen.

@Nord-Süd-Richtung danke für den RegEx, aber leider schnappt er auch Einzelne Klammern und andere Zeichen auf.
 
Zurück