Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: preg_replace i tagi <? ?> w kodzie?
Forum PHP.pl > Forum > PHP
LamaMASTER
Przykładowo robię funkcję:
  1. <?
  2. function zamieniaj($temp)
  3. {
  4. $szukaj = array (
  5. "#\[tekst:(.*?)\]#si"
  6. );
  7. $zamien = array (
  8. "<? echo \\1; ?>"
  9. );
  10.  
  11. return preg_replace($szukaj, $zamien, $temp);
  12. }
  13. ?>

Dodałem specialnie po jednej pozycji w array, bo to przykład. Stosuję funkcję:
  1. <?
  2. zamieniaj('[tekst:test]');
  3. ?>

W rezultacie powinno mi się wyświetlić "tekst", ale w kodzie mam poprostu
<? echo tekst; ?>
Co jest grane i czemu tak jest? Próbowałem bez <? i ?>, z '', "" itp. Niestety brak rezultatu. Wiem, że mógłbym zrobić poprostu \\1 i by mi wyświetliło, ale chciałbym np. zrobić [tekst:$zmienna] no i kupa - nic nie działa, pytajniki mam w kodzie, a bez nich wyświetla mi się echo test; Co mam z tym zrobić? Z tego co pamiętam wcześniej jakoś udało mi się przez preg_replace zamieniać normalnie tak, że php zostało parsowane, teraz jednak nie idzie.
g00fy
nie rozumiem twojego problemu..

to chyba mówi samo za siebie,
czyli
Kod
"#\[tekst:(.*?)\]#si"

z
Kod
[text:$zmienna]

zamienia na
Kod
"<? echo $zmienna; ?>"


przeciez preg_replace nie parsuje php - eval();
LamaMASTER
Hehe no niezły jazz skoro nie parsuje php. No to co z tym fantem mam zrobić? Czego użyć żeby parsowało?
edit
Taa i znowu zostanie temat bez odpowiedzi, nigdzie nie idzie znaleść forum gdzie ktoś będzie się znał na rzeczy normalnie...
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.