Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z własnym bbcode
Forum PHP.pl > Forum > PHP
t3ix
Witam smile.gif

Chciałbym żeby mi automatycznie zamieniało tag [player][/player] na link w postaci:

  1. index.php?action=showp&id=ID_UŻYTKOWNIKA


ID_UŻYTKOWNIKA ma zostać wybrane z bazy danych mysql, problem w tym, że nie potrafię wyciągnąć zawartości między [player][/player]

Próbowałem coś z takim kodem:
  1. $txt = preg_replace("#\[player\](.*?)\[/player\]#si","<a href='index.php?action=showp&id=\\1'>\\1</a>",$txt);

Jak \\1 przenieść do zmiennej ?

  1. [player]admin[/player] = <a href="index.php?action=showp&id=1">admin</a>
wewior
Jeśli dobrze rozumiem to spróbuj tak:
  1. $txt = '[player]5[/player]';
  2. $link = preg_replace("#\[player\](.*?)\[/player\]#si","<a href='index.php?action=showp&id=\\1'>\\1</a>",$txt);
  3. echo '<pre>';
  4. var_dump( $link );
  5. echo '</pre>';
  6. $matches = null;
  7. preg_match ( "#\[player\](.*?)\[/player\]#si" , $txt , $matches );
  8. echo '<pre>';
  9. var_dump( $matches[1] );
  10. echo '</pre>';
t3ix
Tak, po części o to chodziło, dzięki za pomoc smile.gif
Micchaleq
  1. <?php
  2. $nick = "[player]admin[/player]";
  3. $nick = explode("]", $nick);
  4. $nick = explode("[", $nick[1]);
  5. echo '<a href="index.php?action=showp&id=1">'.$nick[0].'</a>';
  6. ?>



Może to cie satysfakcjonuje
t3ix
Problem już rozwiązałem, dzięki za pomoc

  1. $matches = null;
  2. for(;;)
  3. {
  4. preg_match( "#\[player\](.*?)\[/player\]#si" , $tekst , $matches );
  5. if(strlen($matches[1]) < 4) // bo username ma co najmniej 4 znaki
  6. {
  7. break;
  8. }
  9. else
  10. {
  11. $fuser = mysql_real_escape_string($matches[1]);
  12. $row = mysql_fetch_array( mysql_query("...") );
  13. $pid = $row['...'];
  14. $tekst = preg_replace("#\[player\](.*?)\[/player\]#si","<A class='ss' href='index.php?village=$village&action=showp&id=$pid'>\\1</A>",$tekst,1);
  15. }
  16. }
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.