Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Parser obslugi jezyka, Wyrazenia regularne?
jestemacid
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 6.03.2006

Ostrzeżenie: (0%)
-----


Czesc,

Do mojego skryptu stworzylem plik z tablica jezykowa $vlang, w ktorej trzymam zmienne jezykowe. Chcialbym zeby poprzez jakas funkcje zamienialo elementy oznaczone %numer na odpowiednie zmienne.
Najprosciej wytlumaczyc to na przykladzie:

$vlang['File_not_exists'] = 'Plik %1 nie istnieje w katalogu %2';

Wywolanie:

$array[1] = 'plik.php';
$array[2] = 'katalog';

append_lang_var($vlang['File_not_exists'], $array);

zwracaloby:

Plik plik.php nie istnieje w katalogu katalog

Jak napisac taka funkcje, np. poprzez wyrazenia regularne? Probowalem na pare roznych sposobow i nic nie wychodzilo.
Go to the top of the page
+Quote Post
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




zainteresuj sie funkcja sprintf" title="Zobacz w manualu PHP" target="_manual
(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Martio
post
Post #3





Grupa: Zablokowani
Postów: 167
Pomógł: 2
Dołączył: 15.02.2004

Ostrzeżenie: (30%)
XX---


Użyj funkcji sprintf.


  1. <?php
  2. $vlang['File_not_exists'] = 'Plik %s nie istnieje w katalogu %s';
  3.  
  4. $array[1] = 'plik.php';
  5. $array[2] = 'katalog';
  6.  
  7. echo sprintf($vlang['File_not_exists'], $array[1], $array[2]);
  8. ?>


Ten post edytował Martio 24.02.2007, 20:31:42
Go to the top of the page
+Quote Post
Sabistik
post
Post #4


Administrator wortalu


Grupa: Przyjaciele php.pl
Postów: 960
Pomógł: 39
Dołączył: 21.10.2003
Skąd: Kraków

Ostrzeżenie: (0%)
-----


albo lepiej:
  1. <?php
  2. $vlang = 'Plik %s nie istnieje w katalogu %s';
  3.  
  4.  
  5. $array[0] = 'plik.php';
  6. $array[1] = 'katalog';
  7.  
  8. function printf_array($format, $arr)
  9. {
  10.  return call_user_func_array('printf', array_merge((array)$format, $arr));
  11. }
  12.  
  13. printf_array($vlang, $array);
  14. ?>
Go to the top of the page
+Quote Post
jestemacid
post
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 6.03.2006

Ostrzeżenie: (0%)
-----


Ślicznie dzięki! O to mi chodziło (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 17:42