Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] własne bbcode
jawka7
post
Post #1





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


tworze wlasne bbcoce i nie wiem jak zrobi odnosnik do uzydkownikow tak zeby naprzyklad byl wyswietlany ich profil i zeby bbcode zawieralo zmienna (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 20)
b_chmura
post
Post #2





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


a ja nie wiem co Ty wogóle piszesz
Go to the top of the page
+Quote Post
jawka7
post
Post #3





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


no bo mam np cos takirgo

Kod
$text = str_replace('[b]', '<b>', $text);
$text = str_replace('[/b]', '</b>', $text);


wyszukuje w texxie odpowiedni ciag i zastepuje go znacznikiem html

i chce cos takiego stworzyc dla konkretne go profilu np ze jak wcisne na login jakiegos uzytkownika to wyskocza mi jego dane

Ten post edytował jawka7 10.09.2007, 20:55:28
Go to the top of the page
+Quote Post
GrayHat
post
Post #4





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

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


  1. <?php
  2. $str = preg_replace("#[login](.*?)[/login]#si", "<a href=\"http://strona.pl/profil.php?nick=1\">1</a>", $str);
  3. ?>


O to ci chodzi?
Go to the top of the page
+Quote Post
jawka7
post
Post #5





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


no mniej wiecej tak ale mi chodzi zeby wsadzic tam jeszcze jakos zmienna z nickem ze jak wpisze jakis nick to sproboje ko znajsc w bazie danych i jesli istnieje stworzy mi odnosnik akurat do tego profilu gdzie w zmiennej get bedzie podana nazwa uzytkownika

GrayHat nie wiem za bardzo o co chodzi w tym twoim kodzie wiec nie wiem czy mi to pasuje ale po odnosniku widze ze tam jest stala zmienna a ja chce zeby ona byla wyciagana do konkretnego uzytkownika

Ten post edytował jawka7 10.09.2007, 23:15:20
Go to the top of the page
+Quote Post
franki01
post
Post #6





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Jak chcesz kazdy wyraz przeszukiwac, zeby zobaczyc, czy jest taki uzytkownik to naprawde malo praktyczne.. Lepiej zrobiac jak pisal GrayHat.
Go to the top of the page
+Quote Post
.radex
post
Post #7





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


nie rozumiem co ma bbcode do wyszukiwania danego użytkownika
Go to the top of the page
+Quote Post
franki01
post
Post #8





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Jak w tekscie bedzie nazwa uzytkownika, zeby sie zrobil z tej nazwy link do jego profilu. Chyba o to chodzi..
Go to the top of the page
+Quote Post
.radex
post
Post #9





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


ahhha, chodzi np. o coś takiego: [linkprofil=jakisseuser] ?
Go to the top of the page
+Quote Post
franki01
post
Post #10





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Chyba nie... Chodzi o to ze np w tekscie "Co powiesz franki01 ciekawego?", "franki01" ma zamienic na link do uzytkownika... Ale mysle ze dreczenie tego tematu nie ma sensu bo autor sie nie udziela i chyba kazdy dla siebie to pisze.
Go to the top of the page
+Quote Post
jawka7
post
Post #11





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


sorki ale bylem w szkole przez ten czas i zauwaz ze wszystkie posty byly pisane dzisiaj i nie mialem sie jak udzielac nic na to nie poradze. wracajac do tematu własnie chodzi mi o cos takiego jak napisal radex_p. dokladnie o cos takiego

Ten post edytował jawka7 11.09.2007, 15:12:51
Go to the top of the page
+Quote Post
franki01
post
Post #12





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


No dobra ;]

  1. <?
  2. $text = preg_replace("([profil=\"([^\"]*?)\"])si", "<a href=\"profile.php?username=1\">1</a>", $text);
  3. ?>


Powinno dzialac...
Go to the top of the page
+Quote Post
b_chmura
post
Post #13





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


hyhy a dopiero było
Cytat
sorki ze sie nie udzielam ale mialem net odlaczony na calej wiosce i nie moglem. własnie chodzi mi o cos takiego jak napisal radex_p. wlasnie dokladnie o cos takiego


a co do sprawy to wyciagasz loginy użytkowników z bazy i sprawdzasz czy występują w tekście.
Jeśli tak używasz funkcji preg_replace i odpowiedniego wyrażenia regularnego.


EDIT
albo inaczej
robisz tablice z loginami użytkowników wsadzasz w pętle i częstujesz str_replace" title="Zobacz w manualu PHP" target="_manual

Ten post edytował b_chmura 11.09.2007, 15:20:56
Go to the top of the page
+Quote Post
jawka7
post
Post #14





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


przerobilem to tak

$text = preg_replace("(\[login=\"([^\"]*?)\"\])si", "<a href=\"dane_uzytkownika.php?login=\\1\">\\1</a>", $text);

i jak wpisze np
[login="jawka7"]

to mi wyskakuje takie cos

login=jawka7">jawka7

no bo neta mialem wczoraj tez odlaczonego na jakis czas az do rana ale potem sie skaplem ze wszystkie posty byly ppisane dzisiaj jak bylem w szkole

Ten post edytował jawka7 11.09.2007, 15:33:36
Go to the top of the page
+Quote Post
franki01
post
Post #15





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


sprobuj:

  1. <?php
  2. $text = preg_replace("([login=\"(.*?)\"])si", "<a href=\"dane_uzytkownika.php?login=1\">1</a>", $text);
  3. ?>
Go to the top of the page
+Quote Post
jawka7
post
Post #16





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


nie wiem czemu ale wyswietla sie nadal to samo ;/
Go to the top of the page
+Quote Post
franki01
post
Post #17





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


A mozesz pokazac caly skrypt, ktory zamienia wszystkie znaczniki? Raczej jakis inny ingeruje w ten znacznik...
Go to the top of the page
+Quote Post
WebKing
post
Post #18





Grupa: Zarejestrowani
Postów: 219
Pomógł: 16
Dołączył: 16.07.2007

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


Prosze oto skrypt

  1. <?php
  2. $text = preg_replace("#[login=(.*?)]#si", "<a href=\"dane_uzytkownika.php?login=1\">1</a>", $text);
  3. ?>


Testowany (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował WebKing 11.09.2007, 19:08:57
Go to the top of the page
+Quote Post
franki01
post
Post #19





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Ale wszystkie, tzn ]url[ ]img[ itp (znaki zamienilem, zeby nie zamienilo ;])
Go to the top of the page
+Quote Post
jawka7
post
Post #20





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 23.08.2007
Skąd: Częstochowa/Dubidze

Ostrzeżenie: (70%)
XXXX-


oto reszta skryptu:
Kod
$text = str_replace('[hr]', '<hr>', $text); $text = str_replace('[b]', '<b>', $text); $text = str_replace('[/b]', '</b>', $text);$text = str_replace('[i]', '<i>', $text);$text = str_replace('[/i]', '</i>', $text);$text = str_replace('[u]', '<u>', $text);$text = str_replace('[/u]', '</u>', $text);$text = str_replace('[br]', '<br>', $text);$text = str_replace('[/p]', '</p>', $text);$text = str_replace('[space]', '<p>&nbsp;</p>', $text);$text = str_replace('[center]', "<p align='center'>", $text);$text = str_replace('[left]', "<p align='left'>", $text);$text = str_replace('[right]', "<p align='right'>", $text);$text = str_replace("[/size]", "</font>", $text);$text = str_replace("[p color=black]", "<p style='color: black;'>", $text);$text = str_replace("[p color=olive]", "<p style='color: olive;'>", $text);$text = str_replace("[p color=teal]", "<p style='color: teal;'>", $text);$text = str_replace("[p color=red]", "<p style='color: red;'>", $text);$text = str_replace("[p color=blue]", "<p style='color: blue;'>", $text);$text = str_replace("[p color=maroon]", "<p style='color: maroon;'>", $text);$text = str_replace("[p color=navy]", "<p style='color: navy;'>", $text);$text = str_replace("[p color=gray]", "<p style='color: gray;'>", $text);$text = str_replace("[p color=lime]", "<p style='color: lime;'>", $text);$text = str_replace("[p color=fuchsia]", "<p style='color: fuchsia;'>", $text);$text = str_replace("[p color=white]", "<p style='color: white;'>", $text);$text = str_replace("[p color=green]", "<p style='color: green;'>", $text);$text = str_replace("[p color=purple]", "<p style='color: purple;'>", $text);$text = str_replace("[p color=silver]", "<p style='color: silver;'>", $text);$text = str_replace("[p color=yellow]", "<p style='color: yellow;'>", $text);$text = str_replace("[p color=aqua]", "<p style='color: aqua;'>", $text);$text = str_replace("[size=1]", "<font size='1'>", $text);$text = str_replace("[size=2]", "<font size='2'>", $text);$text = str_replace("[size=3]", "<font size='3'>", $text);$text = str_replace("[size=4]", "<font size='4'>", $text);$text = str_replace("[size=5]", "<font size='5'>", $text);$text = str_replace("[size=6]", "<font size='6'>", $text);$text = str_replace("[size=7]", "<font size='7'>", $text);$text = str_replace("[size=8]", "<font size='8'>", $text);$text = str_replace("[size=9]", "<font size='9'>", $text);$text = str_replace("[size=10]", "<font size='10'>", $text);$text = str_replace("[size=11]", "<font size='11'>", $text);$text = str_replace("[size=12]", "<font size='12'>", $text);$text = str_replace("[size=13]", "<font size='13'>", $text);$text = str_replace("[size=14]", "<font size='14'>", $text);$text = str_replace("[size=15]", "<font size='15'>", $text);$text = str_replace("[/a]", "</a>", $text);$text = ereg_replace(":\(", "<img src=\"smile/triste.gif\">",$text);$text = ereg_replace(":)", "<img src=\"smile/smile.gif\">",$text);$text = ereg_replace(":D", "<img src=\"smile/sorrisone.gif\">",$text);$text = ereg_replace(";o", "<img src=\"smile/redface.gif\">",$text);$text = ereg_replace(":P", "<img src=\"smile/tongue.gif\">",$text);$text = ereg_replace(";)", "<img src=\"smile/wink.gif\">",$text);$text = ereg_replace(":o)", "<img src=\"smile/clown.gif\">",$text);$text = ereg_replace("8)", "<img src=\"smile/shy.gif\">",$text);$text = ereg_replace(":x", "<img src=\"smile/kisses.gif\">",$text);$text = ereg_replace(";=\(", "<img src=\"smile/evil.gif\">",$text);$text = ereg_replace(":I", "<img src=\"smile/blush.gif\">",$text);$text = ereg_replace("\?", "<img src=\"smile/question.gif\">",$text);$text = ereg_replace("0]", "<img src=\"smile/alien.gif\">",$text);$text = ereg_replace(":O", "<img src=\"smile/shock.gif\">",$text);$text = ereg_replace(":lol", "<img src=\"smile/laugh.gif\">",$text);$text = ereg_replace(":smokin", "<img src=\"smile/smokin.gif\">",$text);$text = ereg_replace(":rollin", "<img src=\"smile/roll.gif\">",$text);$text = ereg_replace(":hat", "<img src=\"smile/pimp.gif\">",$text);return $text;
WebKing jak wprowadzilem ten twoj skrypt i jest to samook dzieki juz sobie poradzilem poczytalem troch w kursie i poprawilem wszystko dzieki

Ten post edytował jawka7 11.09.2007, 19:47:44
Go to the top of the page
+Quote Post
.radex
post
Post #21





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


gorzej będzie, jak ktoś zapomni domknąć bb-znacznika. Ale możesz zrobić coś takiego jak jest w niektórych systemach, tj. używa strreplace, ale najpierw przetentegowuje tekst przez parser, który wychwytuje, czy znacznik został domkniety, jesli jest domykalny (np. <hr> nie jest domykalny)
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 1.10.2025 - 17:56