Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wyciąganie tekstu
Crop
post 10.05.2008, 16:35:02
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 5.04.2007

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


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


--------------------
Prosty CMS a raczej CMf (zabawa z php)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
ayeo
post 10.05.2008, 16:38:34
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


  1. <?php
  2. preg_match_all("#{.*?}#", $text, $result);
  3. ?>


--------------------
Go to the top of the page
+Quote Post
Crop
post 10.05.2008, 16:45:10
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 5.04.2007

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


wiem, wiem przesadzam, ale jak odrazu wstawić tam wartość z tablicy??
----
Ayeo dziękuje:)

Ten post edytował Crop 10.05.2008, 16:49:14


--------------------
Prosty CMS a raczej CMf (zabawa z php)
Go to the top of the page
+Quote Post
ayeo
post 10.05.2008, 16:56:33
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


  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. ?>


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 00:59