Jump to content


Photo

Funcionamento Do Bbcode


  • Faça o login para participar
58 replies to this topic

#1 <%Rafael%>

<%Rafael%>

    Cadê a Mulhegada?

  • Usuários
  • 291 posts
  • Sexo:Não informado
  • Localidade:Jundiaí - SP

Posted 24/03/2004, 10:20

E ai pessoal blz???
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!!! :P
Toda manhã, na África
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 BlogMeu Flog

#2 victor

victor
  • Visitantes

Posted 24/03/2004, 10:30

Tipo, tem que ter um banco de dados com os valores tipo "[ B ]" para quando ler essa expressão mudar pra < b >???

Isso não precisa ser no bd, vc pode fazer em variaveis mesmo,

<%&texto& = "<br>"%>

E quase isso, mas precisa fazer mais algumas coisas no codigo, ai depende da pessoa de programar ;)

#3 <%Rafael%>

<%Rafael%>

    Cadê a Mulhegada?

  • Usuários
  • 291 posts
  • Sexo:Não informado
  • Localidade:Jundiaí - SP

Posted 24/03/2004, 10:35

Ahh sim...

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
Toda manhã, na África
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 BlogMeu Flog

#4 cybermix

cybermix

    andrewsmedina.com.br

  • Ex-Admins
  • 3586 posts
  • Sexo:Não informado
  • Localidade:Não sou desse planeta não!!!!
  • Interesses:python, fireworks, linux, php, flash...

Posted 24/03/2004, 10:39

olha nem precisa de variavel é só voce usar replaces substituindo [b] por <b> exemplo

conteudo = replace(conteudo, "[b]", "<b>")
conteudo = replace(conteudo, "[/b]", "</b>")

e assim por diante
www.andrewsmedina.com.br

#5 victor

victor
  • Visitantes

Posted 24/03/2004, 10:57

E assim tbm pode, depende de como o suario quer o bbcode dele...Você não acha cybermix??

#6 <%Rafael%>

<%Rafael%>

    Cadê a Mulhegada?

  • Usuários
  • 291 posts
  • Sexo:Não informado
  • Localidade:Jundiaí - SP

Posted 24/03/2004, 11:04

Tá certo...

Valeu pela ajuda pessoal!
Toda manhã, na África
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 BlogMeu Flog

#7 cybermix

cybermix

    andrewsmedina.com.br

  • Ex-Admins
  • 3586 posts
  • Sexo:Não informado
  • Localidade:Não sou desse planeta não!!!!
  • Interesses:python, fireworks, linux, php, flash...

Posted 24/03/2004, 11:06

E assim tbm pode, depende de como o suario quer o bbcode dele...Você não acha cybermix??

nao acho, porque a criacao de variaveis so aumentaria o trabalho, no final teria que usar replaces para substituir. <_<

fazendo o replace direto é a forma + indicada, alias o bbcode é feito nessa estrutura
www.andrewsmedina.com.br

#8 victor

victor
  • Visitantes

Posted 24/03/2004, 11:13

Isso e melhor.hahahahhaa...Vou começar a fazer isso por replace...Vlw ao ;)

#9 lazerediversao

lazerediversao

    Lazer e Diversão - O seu portal de entretenimento é aqui.

  • Usuários
  • 256 posts
  • Sexo:Masculino
  • Localidade:Guarulhos / São Paulo

Posted 24/03/2004, 23:30

Blz pessoal eu estava pensando em fazer isso também !!!

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 !!! (y)
Ele é completo !!!
Ai vc configura ele a seu gosto !!!
################# DADOS #################
# NOME: Rafael T. Coelho
# SITE: Lazer e Diversão
# CONHECIMENTOS: HTML, Java Script, CSS e ASP
#######################################

#10 <%Rafael%>

<%Rafael%>

    Cadê a Mulhegada?

  • Usuários
  • 291 posts
  • Sexo:Não informado
  • Localidade:Jundiaí - SP

Posted 24/03/2004, 23:34

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 :wacko: :D

Java naum eh mto comigo hehehehe!!!

Vc tem o codigo do JS ai??

Abraços.... teh+
Toda manhã, na África
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 BlogMeu Flog

#11 lazerediversao

lazerediversao

    Lazer e Diversão - O seu portal de entretenimento é aqui.

  • Usuários
  • 256 posts
  • Sexo:Masculino
  • Localidade:Guarulhos / São Paulo

Posted 24/03/2004, 23:43

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  :wacko:  :D

Java naum eh mto comigo hehehehe!!!

Vc tem o codigo do JS ai??

Abraços.... teh+

Não é dificil !!!
É 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 !!!
################# DADOS #################
# NOME: Rafael T. Coelho
# SITE: Lazer e Diversão
# CONHECIMENTOS: HTML, Java Script, CSS e ASP
#######################################

#12 Info_Tec

Info_Tec

    Servo do DEUS VIVO!

  • Usuários
  • 398 posts
  • Sexo:Não informado
  • Localidade:Entre a cadeira e o teclado
  • Interesses:Jesus, minha esposa e filha.<br>ASP, Lógica de programação, Projeto de Estradas, $$$ que tô precisando!

Posted 25/03/2004, 00:00

No caso da [URL] vc trocaria o [url= por <A Href= e pegaria a 1ª ocorrencia do ] depois dela, o mesmo para Email. Quanto ao List tenho que procurar
A cada minuto está mais perto.
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 <%Rafael%>

<%Rafael%>

    Cadê a Mulhegada?

  • Usuários
  • 291 posts
  • Sexo:Não informado
  • Localidade:Jundiaí - SP

Posted 25/03/2004, 02:12

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  :wacko:  :D

Java naum eh mto comigo hehehehe!!!

Vc tem o codigo do JS ai??

Abraços.... teh+

Não é dificil !!!
É 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 !!!

hehe mas essa lógica para mim, é meio complicado!! rsrsrs... eu to vendo uns sites ou cursos em JS eh sempre bom saber! :D

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:&nbsp;</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:&nbsp;</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:&nbsp;</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:&nbsp;</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:&nbsp;</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">
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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!!! (y)

Valeu... Abraços! :D
Toda manhã, na África
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 BlogMeu Flog

#14 lazerediversao

lazerediversao

    Lazer e Diversão - O seu portal de entretenimento é aqui.

  • Usuários
  • 256 posts
  • Sexo:Masculino
  • Localidade:Guarulhos / São Paulo

Posted 25/03/2004, 13:37

Bem ta ai o que eu prometi !!!

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.

################# DADOS #################
# NOME: Rafael T. Coelho
# SITE: Lazer e Diversão
# CONHECIMENTOS: HTML, Java Script, CSS e ASP
#######################################

#15 Info_Tec

Info_Tec

    Servo do DEUS VIVO!

  • Usuários
  • 398 posts
  • Sexo:Não informado
  • Localidade:Entre a cadeira e o teclado
  • Interesses:Jesus, minha esposa e filha.<br>ASP, Lógica de programação, Projeto de Estradas, $$$ que tô precisando!

Posted 25/03/2004, 13:58

Vamos tentar juntos?

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

Faz um teste, é +/- menos isso, talvez precise de alguns ajustes.
A cada minuto está mais perto.
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.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq