Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> dynamiczny bbcode
karolski
post 19.08.2006, 19:26:07
Post #1





Grupa: Zarejestrowani
Postów: 199
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Czymiasto

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


witam, mam problem z bbcodem ktory wlasnie tworze chodzi o to zeby funkcja bbcode zamieniala na tabelke string [mecz=id] pobierajac z bazy informacje o meczu, udalo mi sie wyswietlac pojedynczy mecz ale jak napisze jzu dwa to wtedy zamieni tylko ten pierwszy, ogolnie skrypt wyglada tak:
  1. <?php
  2. if (strstr($str, "[mecz=")) {
  3. preg_match("#[mecz=(.*?)]#si", $str, $idem );
  4. $idm = $idem[0];
  5. $id = substr($idm, 6, 1);
  6. $mecz = mysql_fetch_array(mysql_query("zapytanie'"));
  7. $mecz_wyswietl = 'tabelka z pobranymi danymi';
  8. $str = preg_replace("#[mecz=$idm]#si", $mecz_wyswietl, $str);
  9. }
  10. ?>

zapewne powinienm uzyc funkcji count() i zliczyc ilosc elementow [mecz= w stringu i zastosowac petle ale jakos nie moge zliczyc tych elementow.


--------------------
Pozdrawiam Karolski
Go to the top of the page
+Quote Post
kulfoniasty
post 19.08.2006, 21:29:19
Post #2





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 11.10.2003

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


Nie wiem dokladnie jak rozwiazac problem w twoim kodzie, ale przedstawie dla niego alternatywe.

  1. <?
  2. if (strstr($str, "[mecz=")) {
  3. $ar = explode("[mecz=", $str);
  4. //pierwszy wiersz tabeli nie zaczyna sie od ID,pomijamy
  5. for ($i=1; $i<count($ar); $i++){
  6. //wycinam id meczu
  7. $id = substr($ar[$i], 0, strpos($ar[$i], "]"));
  8. // tu pobierasz dane o meczu
  9. $mecz = mysql_fetch_array(mysql_query("zapytanie'"));
  10. $mecz_wyswietl = 'tabelka z pobranymi danymi';
  11. //doklejam dane o meczu jednoczesnie obcinajac wszystkie informacje o IDzie, czyli
     az do ]
  12. $ar[$i] = $mecz_wyswietl." ".substr($ar[$i], strpos($ar[$i], "]"+1));
  13. }
  14. //laczysz poprawiony tekst w 
  15. $out = join("", $ar);
  16. }
  17. ?>

Mam nadzieje ze zadziała bo pisałem na biegu.
Go to the top of the page
+Quote Post
karolski
post 19.08.2006, 23:13:26
Post #3





Grupa: Zarejestrowani
Postów: 199
Pomógł: 0
Dołączył: 12.02.2004
Skąd: Czymiasto

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


wszytko dziala, dzieki bardzo
tylko jedno musialem poprawic:
  1. <?php
  2. $ar[$i] = $mecz_wyswietl." ".substr($ar[$i], strpos($ar[$i], "]")+1);
  3. ?>


Ten post edytował karolski 20.08.2006, 12:26:03


--------------------
Pozdrawiam Karolski
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 Wersja Lo-Fi Aktualny czas: 13.07.2025 - 14:05