Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] podmiana wartości, nazwa zmiennej w zmiannej wykrytej przez regexy, Ciężko opisać zagadnienie :P
macek
post
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 17.08.2006
Skąd: łódź

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


Witam kolegów (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Nazwa mojego tematu jest pewnie straaasznie chaotyczna, ale trudno opisać zagadnienie które mnie interesuje ;p
Nie ma co się rozwodzić po i tak nie da się tego po polsku opisać, spójrzcie na fragment kodu:
  1. <?php
  2. $test['pierwsza'] = 'wartosc pierwszej';
  3. $test['druga'] = 'wartosc drugiej';
  4. $test['trzecia'] = 'wartosc trzeciej';
  5. echo eregi_replace( '<!~([a-z0-9_-]+)>', $test["1"], 'tekkkst..= <!~pierwsza> =tekst');
  6. ?>

Oczywiście powyższy kod nie działa (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Co chcę osiągnąć - wystąpienie znaków <!~coś~> zamienić wartością będącą w tablicy asocjacyjnej pod indeksem "coś".. Oczywiście jak wpiszę np <!~druga~>, wyrażenie powinno mi tego stringa zamienić na wartość $test['druga'], czyli dokładnie na 'wartosć drugiej' .. Kombinowałem na różne sposoby, bezskutecznie a poziom mojej cierpliwości się kończy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Ktoś jest w stanie mi pomóc ? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

-- EDIT:
Próbówłem jeszcze puścić to przez inną metodę żeby zobaczyć co tam de facto się dzieje:
  1. <?php
  2. eregi_replace( '<!~([a-z0-9_-]+)>', $this->GetVar("1"), 'dupa= <!~druga> =dupa');
  3. ...
  4. private function GetVar($id) {
  5. echo $id;
  6. }
  7. ?>

Tak do metody GetVar przechodzi i wyświetlany jest normaln string \1, jeśli wywołam ją przez
  1. <?php
  2. eregi_replace( '<!~([a-z0-9_-]+)>', $this->GetVar("1"), 'dupa= <!~druga> =dupa');
  3. ?>

To w ogóle powstaje niezły bigos bo wyświetla mi w przeglądarce napis SOH z górnym indeksem a w źródle jest kulka takie coś jak <li> ;P
Ktoś potrafi mi rozjaśnić horyzont ? ;\

Ten post edytował macek 28.01.2008, 11:58:37
Go to the top of the page
+Quote Post

Posty w temacie


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: 26.09.2025 - 02:41