Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] preg_replace
lopez86
post
Post #1





Grupa: Zarejestrowani
Postów: 187
Pomógł: 0
Dołączył: 24.12.2006

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


chcę aby preg_replace zamienił to co znajdzie na to co zwróci funkcja

  1. <?php
  2. $content=preg_replace("@<a href="[^#]([^"]*)"[^><]*>@si", tourl(1) ,$content);
  3. ?>


funkcja "tourl()" zamiast dostawać wartości trafione dostaje "\\1" , a mi chodzi o to że ma dostać to co pasuje następnie funkcja to przerabia i pregmatch zamienia na to co zwróciła funkcja.

Nie działa ...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
siemakuba
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

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


Po pierwsze, musisz dodać modifier e, aby skorzystać z możliwości wykonania funkcji od razu na znalezionych danych. Zamiast @si dajesz więc @esi.

Po drugie, błędnie zapisałeś odwołanie do funkcji. Poprawnie winno to być tak:
  1. <?php
  2. preg_replace("@<a href="[^#]([^"]*)"[^><]*>@esi", "tourl($1)" ,$content);
  3. ?>


pozdr.
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: 27.12.2025 - 14:08