Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+mysql] Parsowanie BBcode
Forum PHP.pl > Forum > Przedszkole
RafaelX
Chciałbym zrobic parsowanie [profil] ty nazwa usera [/profil] teoretycznie mój skrypt działa, ale bez wzgledu na to w jakim miejscu w parsowanym tekscie wpisze ten tag to zawsze pojawia on sie na początku przeformatowanej wiadomości np:
Kod
cos tam cos tam [profil]Raf[/profil] ble ble


to wynik bedzie taki:
Kod
Zobacz profil: Rafcos tam cos tam ble ble


mój kod:

  1. <?php
  2.   function profil($login)
  3.   {
  4.       $conn = connect();  
  5.         $wynik = $conn->query("select * from pp_users where login='$login'");
  6.           $i = $wynik->fetch_assoc();
  7.             $id = $i['id'];
  8.               echo '<a href="viewprofile.php?uid='.$id.'">Zobacz profil: '.$login.'</a>';
  9.   }
  10.  
  11.   function ParseBBCode($msg){
  12.  
  13.    $msg = preg_replace("#[profil](.*?)[/profil]#si e", 'profil(1)', $msg);
  14.  
  15.   return =$msg;
  16.  
  17.   }
  18.  
  19.   $a = ParseBBCode(bla bla [profil]Raf[/profil] cos tam);
  20.   echo $a;
  21.  
  22.   ?>


moze da się to jakos inaczej zrobić, chodzi o to ze po wpisaniu miedzy [profil] Loginu był wyswietmany link do tego profilu czyli misi pobierac ID przypisane do tego nicku z bazy biggrin.gif
i po parsowaniu było to w dobrej kolejności a nie ten link zaraz na początku (dodatkowo jak wpisze kilka [profil] w różnych miejscach w wiadomosci to po parsowaniu wszystkie bedą na początku :/

Poradzicie cos na to questionmark.gif
bim2
  1. <?php
  2. return  '<a href="viewprofile.php?uid='.$id.'">Zobacz profil: '.$login.'</a>';
  3. ?>

Spróbuj tak.
RafaelX
Wielkie dzięki winksmiley.jpg to rozwiązało problem
teraz to wygląda tak i działa prawidłowo:
  1. <?php
  2.  function profil($login)
  3.  {
  4.      $conn = connect();  
  5.        $wynik = $conn->query("select * from pp_users where login='$login'");
  6.          $i = $wynik->fetch_assoc();
  7.            $id = $i['id'];
  8.              return '<a href="viewprofile.php?uid='.$id.'">Zobacz profil: '.$login.'</a>';
  9.  }
  10.  
  11.  function ParseBBCode($msg){
  12.  
  13.   $msg = preg_replace("#[profil](.*?)[/profil]#si e", 'profil(1)', $msg);
  14.  
  15.  return =$msg;
  16.  
  17.  }
  18.  
  19.  $a = ParseBBCode(bla bla [profil]Raf[/profil] cos tam);
  20.  echo $a;
  21.  
  22.  ?>
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.