tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Yaslaw
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
795
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    BLC BLC ist offline Grünschnabel
    Registriert seit
    Apr 2010
    Beiträge
    4
    Hallo liebe Tutorials-Gemeinde,

    Ziel ist es in einer Template-Datei (Datei 2) den Wert eines Platzhalters durch den Array-Wert aus einer Sprachdatei (Datei 1) zu ersetzen... Dies soll in Datei 3 geschehen... Das ganze gliedert sich so:

    Die Sprachdatei:
    PHP-Code:
    $lang['it_works'] = "Es funktioniert";
    ... 
    nun habe ich die Template-Datei, diese sieht so aus...
    PHP-Code:
    <html>
      <
    body>
        {
    lang_it_wotks}
      </
    body>
    </
    html
    Das Ziel ist nun, den Platzhalter {lang_it_works} mit dem Wert $lang['it_works'] zu ersetzen.
    Dafür lese ich zu erste die Datei mittels file_get_contents() ein, was uns zur 3. Datei bringt:

    PHP-Code:
    $loadTemplate get_file_contents('template.html');
    preg_replace('/\{lang_(.*?)\}/is'$lang[$1], $loadTemplate); 

    Nun stellen sich mir zwei Fragen:
    1. Wie muss ich den preg_replace umbauen, damit er keinen Fehler mehr bei $lang[$1] erzeugt?
    2. Wofür steht eigentlich das "/is" aus der 3. Datei?


    Vielen lieben Dank, BLC
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Mit preg_replace_callback

    PHP-Code:
    $lang['it_works'] = "Es funktioniert"

    $loadTemplate "<html>
      <body>
        {lang_it_works}
      </body>
    </html>  "
    ;

    function 
    translate($treffer){
        return 
    $GLOBALS['lang'][$treffer[1]];
    }

    echo 
    preg_replace_callback('/\{lang_(.*?)\}/is''translate'$loadTemplate); 
    PS: in deinem Template solltest du noch {lang_it_wotks} durch {lang_it_works} ersetzen....


    Nachtrag:
    /is
    Geh mal auf diese Testseite. Da findest du alle diese Infos bei den Parametern die man anwählen kann
    http://www.regex-tester.de/regex.html
    Geändert von Yaslaw (21.04.10 um 12:11 Uhr)
    BLC bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    BLC BLC ist offline Grünschnabel
    Registriert seit
    Apr 2010
    Beiträge
    4
    Vielen lieben Dank für die schnelle Hilfe...

    Funktioniert tadellos. Dank.


    Liebe Grüße, BLC
     

Ähnliche Themen

  1. [MSACCESS + SQL] Platzhalter durch mehrere Einträge ersetzen
    Von fryeah im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 12.05.10, 14:04
  2. Antworten: 1
    Letzter Beitrag: 13.11.09, 19:58
  3. Platzhalter durch PHP-Code ersetzen
    Von Aragon83 im Forum PHP
    Antworten: 9
    Letzter Beitrag: 24.09.09, 20:10
  4. Antworten: 2
    Letzter Beitrag: 05.10.08, 17:14
  5. Antworten: 1
    Letzter Beitrag: 22.11.03, 14:12