Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pomoc z preg_replace
Forum PHP.pl > Forum > Przedszkole
WebKing
Cześć,
Mam problem z funkcją preg_replace" title="Zobacz w manualu PHP" target="_manual nie bardzo rozumiem jak ona działa, a oto mój kod:
  1. <?
  2. function zamien($lewy, $prawy) {
  3.    echo $lewy." - TEKST - ".$prawy;
  4. }
  5.  
  6. $zamiennik = "[preg]<b><u>- TEKST -</u></b>[/preg]";
  7. $tekst = preg_replace("#[preg](.*?)- TEKST -(.*?)[/preg]#si", zamien('1', '2'), $zamiennik);
  8.  
  9. echo $tekst;
  10. ?>


Nie wiem jaki popełniam błąd ale wyświetla się tylko:
Kod
\1 - TEKST - \2


Proszę o pomoc

Pozdrawiam,
WebKing
Zyx
Ciężko powiedzieć, jaki popełniasz błąd, bo nie napisałeś, co chcesz w ogóle uzyskać. A kod działa dokładnie tak, jak go zaprogramowałeś... wyszukuje w tekście fragmenty pasujące do wyrażenia i zastępuje je wartością zwróconą przez funkcję zamien().
WebKing
Chciałbym uzyskać pogrubiony oraz podkreślony tekst "- TEKST -" ale nie działa wogóle funkcja zamien
drPayton
  1. <?php
  2. $tekst = preg_replace("#[preg](.*?)- TEKST -(.*?)[/preg]#sie", "zamien('1', '2')", $zamiennik);
  3. ?>

Wystarczy manual poczytać...
WebKing
Dzięki pomogło ale jest mały haczyk jeżeli mam taki kod:
  1. <?
  2. function zamien($lewy, $prawy) {
  3.   echo $lewy." - TEKST - ".$prawy;
  4. }
  5.  
  6. $zamiennik = "<big>[preg]<u>- TEKST -</u>[/preg]</big>";
  7. $tekst = preg_replace("#[preg](.*?)- TEKST -(.*?)[/preg]#sie", "zamien('1', '2')", $zamiennik);
  8.  
  9. echo $tekst;
  10. ?>


W zmiennej $zamiennik zrobiłem znacznik <big> i stawiłem go przed tym co ma być zamienione po wejściu w źródło strony pojawia się <u>- TEKST -</u><big></big>

Znacznik otwierający i zamykający <big> zostaje na końcu

Pomoże ktoś?

Za pomoc daje plusy

Już sobie poradziłem winksmiley.jpg
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.