Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]preg_replace, problem z wyrażeniem
kamillo121
post
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 6
Dołączył: 26.07.2009

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


Witam, mam problem bo nie wiem jak wykorzystać dane z wzorca, mam taki testowy wzorzec
'/\[color=([0-9]{1})\](.*?)\[\/color\]/';
i teraz chce go zamienić na
"<span style=\"color: $this->_getColor($1)\">$2</span>";

tylko, że ten zamiennik nie działa bo podstawia mi wartość "(liczba)" zamiast to co zwraca funkcja, jak mam ją wywołać ?
Próbowałem wywołać ją tak:

"<span style=\"color: {$this->_getColor($1)} \">$2</span>";

tylko wtedy problem bo szuka zmiennej $1 a nie tej z preg_replace, prosze jak ktoś wie to niech mi napiszę jak to zrobić w jednym zapisie bo już na różne sposoby próbowałem.

//albo chociaż pod miejsce na zamiennik podstawiłbym wywołanie metody tylko jak jako argument metody podać "$1" odwołujące się do tego wzorca ?
preg_replace udostępnia jakąś tablicę z danymi co do wzorca ?

Ten post edytował kamillo121 3.11.2010, 15:20:42
Go to the top of the page
+Quote Post
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Nie wiem czy dobrze zrozumiałem ale ogólnie spróbuj do prega wstawić argument $pattern.
Pod zmienną $pattern przypisz wartość:
  1. $pattern = '/wyrażenie regularne '. $color .' druga część wyrażenia regularnego/'


Ps.
Zamiast ujmować kod w cudzysłowy w temacie to skorzystaj z dedykowanych znaczników (code,php,html).

Ten post edytował markonix 3.11.2010, 15:31:45


--------------------
Go to the top of the page
+Quote Post
kamillo121
post
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 6
Dołączył: 26.07.2009

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


Nie, nie o to chodziło smile.gif wartość ma pochodzić ze znalezionego wzorca ale rozwiązałem ten problem.
Zamiast preg_replace pobawię się preg_replace_callback i dużo lepiej wyjdzie, przynajmniej łatwy dostęp do wartości ze znalezionego wzorca smile.gif

a kod ująłem w " bo trochę mi się spieszyło więc skopiowałem część kodu z notepada.

Ten post edytował kamillo121 3.11.2010, 15:40:43
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 Aktualny czas: 19.08.2025 - 17:34