Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyciąganie tekstu
Forum PHP.pl > Forum > Przedszkole
Crop
Witam!
Mam zapewnie banalny i lamerski problem, ale osobiście nie mogę sobie z nim poradzić. Otóż:
W zmiennej mam tekst który zawiera:
Kod
{D}
{G}
{A}

i chciałbym zamienić go elementami z tablicy
Kod
$r['a']='Wartość A';
$r['d']='Wartość D';
$r['g']='Wartość G';

I chciałbym uzyskać efekt:
Kod
Wartość D
Wartość G
Wartość A

Kombinuje już z tym cały dzień i zawsze wychodzi mi tylko
Array

Z góry dzięki za pomoc:)
Crop
ayeo
  1. <?php
  2. preg_match_all("#{.*?}#", $text, $result);
  3. ?>
Crop
wiem, wiem przesadzam, ale jak odrazu wstawić tam wartość z tablicy??
----
Ayeo dziękuje:)
ayeo
  1. <?
  2. class Parser
  3. {
  4.  
  5. private $data;
  6.  
  7. function __construct($data)
  8. {
  9. $this->data = $data;
  10. }
  11.  
  12. private function getVarValue($match)
  13. {
  14. return isset($this->data[$match[1]]) ? $this->data[$match[1]] : $match[0];
  15. }
  16.  
  17. public function parse($string)
  18. {
  19. return preg_replace_callback("#{(.*?)}#", array($this, getVarValue), $string);
  20. }
  21. }
  22.  
  23.  
  24. $data[a] = "pomidory";
  25. $data[b] = "kluski";
  26.  
  27. $parser = new Parser($data);
  28. echo $parser->parse('To jest przykład {a} i także {b}! Jednak zmienna c jest pusta {c}');
  29.  
  30. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.