Funcionamento Do Bbcode
#1
Posted 24/03/2004, 10:20
Gostaria de saber como faço (a lógica) de um sistema d bbCode.. tipo esse utilizado pelo fórum...
O fórum utiliza PHP, gostaria de saber se é possível fazer um em ASP.
Qual seria a lógica para montar?
Tipo, tem que ter um banco de dados com os valores tipo "[ B ]" para quando ler essa expressão mudar pra < b >???
Alguém sabe a lógica do funcionamento ou tem algum sistema pronto para que eu possa dar uma estudada??
Valeu...
Abraços!!!
Uma Gazela desperta
Sabe que deverá correr muito do Leão
Ou será Morta
Toda manhã, na África
Um Leão desperta
Sabe que deverá correr muito atrás da Gazela
Ou morrerá de fome
Quando o Sol surgir
Não importa o que seja... Leão ou Gazela
Será melhor começar a correr!
Meu Blog • Meu Flog
#2 victor
Posted 24/03/2004, 10:30
Isso não precisa ser no bd, vc pode fazer em variaveis mesmo,Tipo, tem que ter um banco de dados com os valores tipo "[ B ]" para quando ler essa expressão mudar pra < b >???
<%&texto& = "<br>"%>
E quase isso, mas precisa fazer mais algumas coisas no codigo, ai depende da pessoa de programar
#3
Posted 24/03/2004, 10:35
Eu vou ter uma variável para cada valor que inserir, no caso...
Eu consegui fazer o formulário já, que quando clica na imagem insere o valor no textarea, agora eu preciso fazer uma função ou algo do tipo, para transformar os valores [B ], etc em <b>, etc...
Outra coisa, é que quando seleciono o texto e clico para inserir o código, ele não insere nas extremidades da palavra e sim sempre no fim, tio, ao inves de [B ]texto selecionado[/B ], ele faz: texto selecionado[B ][/B]...
Acho que para inserir com o texto no meio, deve ser feita alguma contagem ou algo do tipo (isso em js)...
Abraços...
vamos la pessoal hehehe!
Se alguem tiver um sistema pronto e quiser colocar ai, eu dou uma estudada nele...
valeu
Uma Gazela desperta
Sabe que deverá correr muito do Leão
Ou será Morta
Toda manhã, na África
Um Leão desperta
Sabe que deverá correr muito atrás da Gazela
Ou morrerá de fome
Quando o Sol surgir
Não importa o que seja... Leão ou Gazela
Será melhor começar a correr!
Meu Blog • Meu Flog
#4
Posted 24/03/2004, 10:39
conteudo = replace(conteudo, "[b]", "<b>") conteudo = replace(conteudo, "[/b]", "</b>")
e assim por diante
#5 victor
Posted 24/03/2004, 10:57
#6
Posted 24/03/2004, 11:04
Valeu pela ajuda pessoal!
Uma Gazela desperta
Sabe que deverá correr muito do Leão
Ou será Morta
Toda manhã, na África
Um Leão desperta
Sabe que deverá correr muito atrás da Gazela
Ou morrerá de fome
Quando o Sol surgir
Não importa o que seja... Leão ou Gazela
Será melhor começar a correr!
Meu Blog • Meu Flog
#7
Posted 24/03/2004, 11:06
nao acho, porque a criacao de variaveis so aumentaria o trabalho, no final teria que usar replaces para substituir.E assim tbm pode, depende de como o suario quer o bbcode dele...Você não acha cybermix??
fazendo o replace direto é a forma + indicada, alias o bbcode é feito nessa estrutura
#8 victor
Posted 24/03/2004, 11:13
#9
Posted 24/03/2004, 23:30
Então depois desse tópico resolvi tentar fazer um, porém cheguei num ponto em que eu já tentei de várias formas e eu não consegui.
Bem vejam como ficou !!!
conteudo = Request.Form("Post") conteudo = replace(conteudo, "[B]", "<b>") conteudo = replace(conteudo, "[/B]", "</b>") conteudo = replace(conteudo, "[I]", "<i>") conteudo = replace(conteudo, "[/I]", "</i>") conteudo = replace(conteudo, "[U]", "<u>") conteudo = replace(conteudo, "[/U]", "</u>") conteudo = replace(conteudo, "[FONT=Arial]", "<span style='font-family:Arial'>") conteudo = replace(conteudo, "[FONT=Times]", "<span style='font-family:Times'>") conteudo = replace(conteudo, "[FONT=Courier]", "<span style='font-family:Courier'>") conteudo = replace(conteudo, "[FONT=Impact]", "<span style='font-family:Impact'>") conteudo = replace(conteudo, "[FONT=Geneva]", "<span style='font-family:Geneva'>") conteudo = replace(conteudo, "[FONT=Optima]", "<span style='font-family:Optima'>") conteudo = replace(conteudo, "[/FONT]", "</span>") conteudo = replace(conteudo, "[SIZE=1]", "<span style='font-size:8pt;line-height:100%'>") conteudo = replace(conteudo, "[SIZE=7]", "<span style='font-size:14pt;line-height:100%'>") conteudo = replace(conteudo, "[SIZE=14]", "<span style='font-size:21pt;line-height:100%'>") conteudo = replace(conteudo, "[/SIZE]", "</span>") conteudo = replace(conteudo, "[COLOR=blue]", "<span style='color:blue'>") conteudo = replace(conteudo, "[COLOR=red]", "<span style='color:red'>") conteudo = replace(conteudo, "[COLOR=purple]", "<span style='color:purple'>") conteudo = replace(conteudo, "[COLOR=orange]", "<span style='color:orange'>") conteudo = replace(conteudo, "[COLOR=yellow]", "<span style='color:yellow'>") conteudo = replace(conteudo, "[COLOR=gray]", "<span style='color:gray'>") conteudo = replace(conteudo, "[COLOR=green]", "<span style='color:green'>") conteudo = replace(conteudo, "[/COLOR]", "</span>") conteudo = replace(conteudo, "[IMG]", "<img src='") conteudo = replace(conteudo, "[/IMG]", "' border='0'>")
Até ai BLZ !!!
E como eu faria no caso da URL, EMAIL e o LIST ???
E respondendo ao meu Chara <%Rafael%> sobre:
Outra coisa, é que quando seleciono o texto e clico para inserir o código, ele não insere nas extremidades da palavra e sim sempre no fim, tio, ao inves de [B ]texto selecionado[/B ], ele faz: texto selecionado[B ][/B]...
Pegue o código java daqui do fórum !!!
Ele é completo !!!
Ai vc configura ele a seu gosto !!!
# NOME: Rafael T. Coelho
# SITE: Lazer e Diversão
# CONHECIMENTOS: HTML, Java Script, CSS e ASP
#######################################
#10
Posted 24/03/2004, 23:34
Qto ao código aqui do fórum... vishh!!! desisti...
Eu não entendo muito de JS e eu vi tanta coisa lá que me cafundi! hehehehe...
Vc tem ele pra passar??
Ah, qto a sua duvida, que você disse qto a email, link, acho que seria legal fazer tipo ao clicar, abrir uma janela de prompt onde digita o valor... mas naum me pergunte como
Java naum eh mto comigo hehehehe!!!
Vc tem o codigo do JS ai??
Abraços.... teh+
Uma Gazela desperta
Sabe que deverá correr muito do Leão
Ou será Morta
Toda manhã, na África
Um Leão desperta
Sabe que deverá correr muito atrás da Gazela
Ou morrerá de fome
Quando o Sol surgir
Não importa o que seja... Leão ou Gazela
Será melhor começar a correr!
Meu Blog • Meu Flog
#11
Posted 24/03/2004, 23:43
Não é dificil !!!Aee cara legal... é isso mesmo que eu tava montando hj a tarde mas não deu tempo hehehehe...
Qto ao código aqui do fórum... vishh!!! desisti...
Eu não entendo muito de JS e eu vi tanta coisa lá que me cafundi! hehehehe...
Vc tem ele pra passar??
Ah, qto a sua duvida, que você disse qto a email, link, acho que seria legal fazer tipo ao clicar, abrir uma janela de prompt onde digita o valor... mas naum me pergunte como
Java naum eh mto comigo hehehehe!!!
Vc tem o codigo do JS ai??
Abraços.... teh+
É só lógica !!!
É até parecido com asp !!!
Se quiser passe o código do seu formulário que eu faço !!!
Quanto ao URL, EMAIL e o LIST não é o java mas sim como eu faria o replace !!!
# NOME: Rafael T. Coelho
# SITE: Lazer e Diversão
# CONHECIMENTOS: HTML, Java Script, CSS e ASP
#######################################
#12
Posted 25/03/2004, 00:00
Aceite JESUS como seu único e suficiente salvador!
_____________-
Fórum HOSANAS, venha conversar e se engrandecer com a palavra de DEUS.
Host: ASPECTO, Hospedagem ASP com qualidade e bom preço.
#13
Posted 25/03/2004, 02:12
hehe mas essa lógica para mim, é meio complicado!! rsrsrs... eu to vendo uns sites ou cursos em JS eh sempre bom saber!Não é dificil !!!Aee cara legal... é isso mesmo que eu tava montando hj a tarde mas não deu tempo hehehehe...
Qto ao código aqui do fórum... vishh!!! desisti...
Eu não entendo muito de JS e eu vi tanta coisa lá que me cafundi! hehehehe...
Vc tem ele pra passar??
Ah, qto a sua duvida, que você disse qto a email, link, acho que seria legal fazer tipo ao clicar, abrir uma janela de prompt onde digita o valor... mas naum me pergunte como
Java naum eh mto comigo hehehehe!!!
Vc tem o codigo do JS ai??
Abraços.... teh+
É só lógica !!!
É até parecido com asp !!!
Se quiser passe o código do seu formulário que eu faço !!!
Quanto ao URL, EMAIL e o LIST não é o java mas sim como eu faria o replace !!!
Ahh valeu cara...
ai vai meu código...
<hr size="1" width="500" color="#C0C0C0" align="center"> <table width="500" cellpadding="0" cellspacing="0" border="0" align="center"> <tr> <td class="fixo">» Cadastrar Informativos:</td> </tr> </table> <% If Request.Form("enviado") = "sim" then Dim Cadastrado Dim Dicionario Dim i Dim comandoSql Dim Rs Dim Vet Cadastrado =False set Dicionario = CreateObject("scripting.dictionary") i = 0 if Request.Form("titulo")="" then Dicionario.add i, "» O campo 'Título' está em branco! Favor preencher corretamente!" i = i+1 end if AbreConexao Sql = "SELECT titulo FROM acontece WHERE titulo = '" & Request.form("titulo") & "'" set Rs =Conexao.Execute(Sql) If not Rs.Eof then Dicionario.add i, "» Este informativo já está cadastrado em nosso sistema... Por favor, escolha outro título!" i= i+1 end if FechaConexao if Request.Form("resumo")="" then Dicionario.add i, "» O campo 'Resumo' está em branco! Favor preencher corretamente!" i = i+1 end if if Request.Form("texto")="" then Dicionario.add i, "» O campo 'Informativo' está em branco! Favor preencher corretamente!" i = i+1 end if Vet = Dicionario.items if Dicionario.Count<>0 then Response.Write "<br><center><font class=altuser>" Response.Write "Os seguintes dados estão incorretos:</font></center><br><font class=fixo_fine>" for i = 0 to Dicionario.Count - 1 Response.Write vet(i) & "<br>" next Response.Write "</font><br><hr size=1 width=500 color=#C0C0C0 align=center><br>" else texto = replace(request.form("texto"),chr(13),"<br>") AbreConexao Sql = "INSERT INTO acontece (titulo, resumo, data, imagem, texto) " Sql = Sql & "VALUES('" & Request.Form("titulo") & "','" Sql = Sql & Request.Form("resumo") & "', '" & Request.Form("data") & "', '" & Request.Form("imagem") & "', '" & texto & "')" Conexao.Execute(Sql) Cadastrado = True end if end if If Cadastrado = False Then %> <form name="cadastra" action="acontece_adm.asp?acao=1" method="post"> <input type="hidden" name="enviado" value="sim"> <table width="500" cellpadding="0" cellspacing="0" border="0" align="center"> <tr height="22"> <td width="130" class="fixo" align="right">Título: </td> <td><input type="text" name="titulo" class="form_login" size="63" maxlength="150"></td> </tr> <tr height="22"> <td width="130" class="fixo" align="right">Resumo: </td> <td><input type="text" name="resumo" class="form_login" size="63" maxlength="255"></td> </tr> <tr height="22"> <td width="130" class="fixo" align="right">Data: </td> <td><input type="text" name="data" value="<%=var_data%>" class="form_login" size="63"></td> </tr> <tr height="22"> <td width="130" class="fixo" align="right">Imagem: </td> <td ><input type="text" name="imagem" value="http://" class="form_login" size="63" maxlength="150"></td> </tr> <tr height="10"> <td></td> </tr> <script language="javascript"> function add(tag){ document.cadastra.texto.value = document.cadastra.texto.value + tag; } </script> <tr> <td></td> <td><img src="img/bt_neg.gif" onClick="add('<b></b>');" style="cursor:hand" alt="Negrito" border="0"> <img src="img/bt_ital.gif" onClick="add('<i></i>');" style="cursor:hand" alt="Itálico" border="0"> <img src="img/bt_subl.gif" onClick="add('<u></u>');" style="cursor:hand" alt="Sublinhado" border="0"> <img src="img/bt_imag.gif" onClick="add('<img src=>');" style="cursor:hand" alt="Inserir Imagem" border="0"> <img src="img/bt_link.gif" onClick="add('<a href=></a>');" style="cursor:hand" alt="Inserir Link" border="0"> <img src="img/bt_mail.gif" onClick="add('<a href=mailto:></a>');" style="cursor:hand" alt="Inserir Link de E-Mail" border="0"> <img src="img/bt_cent.gif" onClick="add('<div align=center></div>');" style="cursor:hand" alt="Centralizar Texto" border="0"> <img src="img/bt_right.gif" onClick="add('<div align=right></div>');" style="cursor:hand" alt="Alinhar à Direita" border="0"> </td> </tr> <tr> <td width="130" class="fixo" align="right" valign="top">Informativo: </td> <td><textarea name="texto" rows="5" cols="62" class="form_login"></textarea></td> </tr> <tr> <td></td> <td height="30" align="right"><input type="image" value="submit" src="img/bt_conf.gif"> </td> </tr> </table> </form> <% Else %><br> <p align="center" class="fixo"> Informativo cadastrado com sucesso...<br><br> Obrigado, <font color="#CE0000"><%=Session("login")%></font></p><br> <% End If FechaConexao %>
Ele tá com as imagens e com o java script para adicionar apenas <b>, </b>, <i>, etc... blz???
Se for dar muito trampo pra você e você quiser colocar o JS que você usa para mim ver, tranquilo!!!
Valeu... Abraços!
Uma Gazela desperta
Sabe que deverá correr muito do Leão
Ou será Morta
Toda manhã, na África
Um Leão desperta
Sabe que deverá correr muito atrás da Gazela
Ou morrerá de fome
Quando o Sol surgir
Não importa o que seja... Leão ou Gazela
Será melhor começar a correr!
Meu Blog • Meu Flog
#14
Posted 25/03/2004, 13:37
O que eu mudei foi:
O nome o formulário, retirei o campo imagem, os javas, alterei o nome do textarea.
Testei aqui e funcionou o script !!!
Ah !!! Não se esqueça de colocar o arquivo Clique aqui para baixar na mesma pasta que este formulário.
Eu não coloque tudo como por exemplo o Verificar tamanho e Ajuda do bbCode !!!
O verificar tamanho eu acho desnecessario a não ser que vc exija um total de caracteres !!!
Outra coisa para o Design ficar igual ao do fórum é só vc colocar também o style do fórum ou criar o seu !!!
Bem o seu código está em anexo !!!
Se eu postasse o forum iria confundir !!!
Qualquer Coisa é Só Postar !!!
A proposito Info_Tec como eu faria para ele pegar essa primeira ocorrencia ???
Eu pensei em fazer assim mas não daria !!!
conteudo = replace(conteudo, "[URL=", "<A Href=") conteudo = replace(conteudo, "]", ">") conteudo = replace(conteudo, "[/URL]", "</a>")
Isso solucionaria o meu problema porém toda vez que alguém digitasse "]" ele iria transformar em ">" !!!
Como eu ainda sou um eterno iniciante eu gostaria que vc me desse um exemplo de como pegar essa 1ª ocorrencia !!!
Espero ter sido claro !!!
Attached Files
Edição feita por: lazerediversao, 25/03/2004, 13:38.
# NOME: Rafael T. Coelho
# SITE: Lazer e Diversão
# CONHECIMENTOS: HTML, Java Script, CSS e ASP
#######################################
#15
Posted 25/03/2004, 13:58
Faz um teste, é +/- menos isso, talvez precise de alguns ajustes.While Not InStr(Var_Texto,"") = 0
Inicio_URL = InStr(Var_Texto,"[URL=")
Fim_URL = InStr(Var_Textp,"") = 0
Inicio_URL = InStr(Var_Texto,"[URL=")
Fim_URL = InStr(Var_Textp,"[/URL]")+6
Num_Caracteres = Fim_URL - Inicio_URL
' Aqui, teoricamente, temos o Inicio e o Final do trecho com a URL e o Apelido digitado na TAG, tem que ser feita algumas verificações para evitar um texto nulo ou a presença de outras formas de erro
Var_URL = Mid(Var_Texto, Inicio_URL, Num_Caracteres)
Var_URL_Original = Var_URL
'Aqui peguei e armazenei a URL, numa variável que vai ser alterada e em outra da forma original, para se fazer um Replace no Texto Original.
Var_URL = Replace(Var_URL,"[URL=", "<A Href=")
Var_URL = Replace(Var_URL,"[/URL=]", "</A>")
Var_URL = Replace(Var_URL,"]", ">")
Var_Texto = Replace(Var_Texto, Var_URL_Original, Var_URL)
Wend
Aceite JESUS como seu único e suficiente salvador!
_____________-
Fórum HOSANAS, venha conversar e se engrandecer com a palavra de DEUS.
Host: ASPECTO, Hospedagem ASP com qualidade e bom preço.
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)