Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Sprachdateisystem

Hallo!

Direkt mal.. Superforum! :D Super Idee...

Ich hab da mal eine Frage bezüglich eines Languagesystems:

Ich hab zwei Arten von Ersetzung die beide nicht klappen :-/!

1. preg_replace

Ich habe eine Index.php die sich ein Template holt. Das Template hat Sprachvariablen {L_NAMEDERVAR}. Diese sollen mit Hilfe von preg_replace(). soweit ich das sehen kann, ist das regexp richtig!

Hier mein code.

Code:                   In Zwischenablage kopieren (nur IE)
1">

Soviel zum ersten Vorschlag.

Zweiter Vorschlag strstr();

Code:                   In Zwischenablage kopieren (nur IE)
2">

Ich weiß eigentlich nicht was und wo ich was falsch mache! error_reporting(E_ALL); gibt nichts aus...

Ist mein Regexp falsch?

Danke im voraus!

Grüße,

Johannes
Hier gehts zum Orginal Eintrag "Sprachdateisystem" im Forum

Antworten

probiers damit mal in der Regexp: (vorrausgesetzt die Name sind alle großgeschrieben und beinhalten nur Buchstaben)
Code:                   In Zwischenablage kopieren (nur IE)
3">

und was sll der "\" in $lang['\1'] ?
heißen deine keys wirklich '\1' oder soll das nur das erste element im array sein?
dann sollte es $lang[0] heißen.


2.

Das ist die Backreference des RegExp

von (.*?) heißt wörtlich "match the regular expression and capture it's match into backreference number 1" Dann kann man mit \1 die backreference aufrufen! Die regular expression ist in diesem fall . = mathc any single character that isn't a new line ?= between zero and unlimited times, expanding as needed (lazy).

Aber ich werde das mal versuchen!

Danke @ supastah!


3.

hmm.. jetzt hab ich aber immernoch das Problem, dass ich nicht weiß wie ich den namen der variable {L_VAR} in $lang['VAR'] kriege?

Das ist das größte problem.. und natürlich, dass nichts ausgegeben wird.. :-/


4.

Gut das Problem hab' ich gelöst. Ohne RegExp


Jetzt hab' ich aber ein dummes Problem, was ich zugegeben nicht durchdacht habe....

Ich file_get_content() ja die einzelnen templates je nach bedarf. Nun das Problem, wenn das Template auch PHP code hat, wird dieser ja vorher nicht durchgeführt.

include würde ich ja machen, aber das kann ich ja nicht in eine Variable packen und diese später dann nach den Sprachvariablen durchsuchen.

eval() beschwert sich natürlich über den normalen Text mit dem er nichts anfangen kann.

:-/


5.

http://faq-php.de/q/q-string-ausfuehren.html Guckst du zu eval ;)


6.

Hi,

Vielen Vielen Dank Foggy...

Ich muss unbedingt öfter auf PHP Faq gucken. Sind halt die FAQs. :D

Danke wirklich, es funktioniert und ich hab' wieder Motivation.. :P


Danke,

Johannes


Hier gehts zum Orginal Eintrag "Sprachdateisystem" im Forum
 
phpforum.de | Impressum