Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafinhaphp

como trocar [] por <>

Recommended Posts

salve galra.. seguinte, eu non manjo muito de JS... atualmente estou estudando PHP e actionScript... entendo o JS porq é "a mesma estrutura" do PHP....

 

 

eu quero fz um sistema onde tipo.. tem um textarea ai digita la:

 

[red] texto vermelho[/red]

 

e o javascrip na hora de enviar reconheca o "[red]" como um <font color...

 

 

seria simples isso nun seria? alguem pode me ajudar?

valeuuuu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

bem o que você fala e bb code e na verdade da para fazer isso sim mas tb e verdade que quem faz isso em php nao usa o js mas sim cria um array com os bb codes e depois salva na bd o valor do textarea e ao mostrar os "posts" esse bb code e convertido para tags html pelo proprio php

 

tipo assim:

 

http://www.tutorio.com/tutorial/simple-and...bcode-with-php/

 

mas claro da para trocar com o js, usando a funcao replace

 

neste caso seria por exemplo, mas nao sei bem como substituir [red][/red] no mesmo replace por isso tb fico a espera de quem saiba para ficar a saber tb

 

mas assim funciona:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script>
function alterar(){
document.getElementById("ola").value=document.getElementById("ola").value.replace("[red]","<font color='#FF0000'>")
document.getElementById("ola").value=document.getElementById("ola").value.replace("[/red]","</font>")

}
</script>
</head>

<body>
<textarea cols="70" rows="15" id="ola"></textarea>
<input type="button" onclick="alterar()" value="alterar"/>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow, intom é tipo o bb mesmo... mas eu quero uma coiz mais simples saks?!

 

 

es escrevi issu aqui....

 

<script LANGUAGE="javascript">

function tag(formObj){
var texto = formObj.campo.value.replace("[red]", "<font color=red>");
document.write(texto);
}

</SCRIPT>

<form >
<textarea name="campo" cols="25" rows="5" ></textarea>
<br />
<input type=button  value="Enviart" onClick="tag(this.form);">
</form>
[code]


mas ta no mesmo esquema... nun tem como fechar a tag! =/



mas estou pensando.. i se usar um if()??
sera q nun rola... alguma coiz do tipo....

[code]
<script LANGUAGE="javascript">

function tag(formObj){

if(tag = "[tag]", tag == "[tag]"){
var texto = formObj.campo.value.replace("[red]", "<font color=red>");

}
else if(tag == "[/red]"){
var texto = formObj.campo.value.replace("[/red]", "</font>");
}

document.write(texto);
}
</SCRIPT>

 

valew!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu achei um exemplo na net acho que e bem legal para criar bbcode vou-te passar o endereco (é feito com js)

 

http://corpocrat.com/2008/08/15/free-wysiw...-in-javascript/

 

 

para converter [red] em <font color='#FF0000'> tem de ser com o replace

 

vou aqui tentar criar um script se eu conseguir depois posto

Compartilhar este post


Link para o post
Compartilhar em outros sites

atencao os codigos bb neste script tem de estar a minuscula

 

alguma duvida do codigo e so dizer

 

 

########### DEVELOPED BY WEBMIND ################

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<script>
function converter(){

caixa=document.getElementById("texto");

var bbcode=new Array()
bbcode[0]="[red],[/red]";
bbcode[1]="[b],[/b]";
var converte=new Array()
converte[0]="<font color='#FF0000'>,</font>";
converte[1]="<b>,</b>";

/*divisaobb=bbcode[0].indexOf(",");
fimbb=bbcode[0].length;
divisao=converte[0].indexOf(",");
fim=converte[0].length;*/

for(i=0;i<bbcode.length;i++){
divisaobb=bbcode[i].indexOf(",");
fimbb=bbcode[i].length;
divisao=converte[i].indexOf(",");
fim=converte[i].length;
caixa.value=caixa.value.replace(bbcode[i].substr(0,divisaobb),converte[i].substr(0,divisao))
caixa.value=caixa.value.replace(bbcode[i].substr((divisaobb+1),fimbb),converte[i].substr((divisao+1),fim))
}

}
</script>
</head>

<body>
<textarea cols="70" rows="15" id="texto"></textarea>
<input type="button" value="converter"  onclick="converter()"/>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow manin... legal esse script ... uma vez encontrei um tamb... só q era muito complexo! .... esse ai da pra quebrar um balho porenquanto... mas eu quero desenvolver um sistema... sou meio contrar pegar as coiz prontas sab? gosto de desenvolver, porq como estou estudando ainda, assim aprendo bem mais! ^^

 

 

mas nun deve ser complicado veio... a base é o replace!

vo tentando aqui tamb!

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja o script que mandei em cima ele converte varios bbcodes dependendo dos que colocar no array.

 

importante e o seguinte os arrays tem de ter o mesmo n de elementos e os bbcodes tem de ser conforme vao ser escritos na textarea

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow manin... daóra, é issu ai mesmo.... vo tentar interpretar pra poder desenvolver um... tipo, estou estudando ainda.. muita coiz nun manjo!!!

 

mas fico bacana! vo tentar coloca imagem tamb!

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas como o silverfox disse e eu disse no inicio a melhor opcao mesmo e usar php para isso. Mas se quer desenvolver mesmo em Js, eu explico-te o codigo que nao entenderes.

 

para adicionares uma imagem coloca assim

 

var bbcode=new Array()
bbcode[0]="[red],[/red]";
bbcode[1]="[b],[/b]";
bbcode[2]="[smile],[/smile]";

var converte=new Array()
converte[0]="<font color='#FF0000'>,</font>";
converte[1]="<b>,</b>";

converte[2]="<img src='caminho da imagem' />"; //neste caso nao leva </img> porque img nao fecha com </img>

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa.. intom consegui entender o script.... estou dando um up nele!

só nun compreendi essa parte aqui ó, o for()....

 

for(i=0;i<bbcode.length;i++){
divisaobb=bbcode[i].indexOf(",");
fimbb=bbcode[i].length;
divisao=converte[i].indexOf(",");
fim=converte[i].length;
caixa.value=caixa.value.replace(bbcode[i].substr(0,divisaobb),converte[i].substr(0,divisao))
caixa.value=caixa.value.replace(bbcode[i].substr((divisaobb+1),fimbb),converte[i].substr((divisao+1),fim))

 

eu tenho uma duvida...

eu fiz um esquema de botão, quando clica no botão ele add o bbcode no textarea....

ta ai o script:

<script>
function linha(string) { 
  document.getElementById("area").value+=string;
} 
</script>

<textarea id="area" ></textarea>
<a href="#" onClick="linha('[hr]')"><img></a>

 

mas tem como pegar a posição do ponteiro??

porq quando clica no botão o script add o "


" sempre no final do "texto"

 

mesmo q o ponteiro esteja no meio, ou no inicio, ele só add no final.... como fz pra pegar a posição do ponteiro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

quanto a sua questao para inserir bbcode veja o codido do script do site, eles utilizam o text range

 

http://corpocrat.com/2008/08/15/free-wysiw...-in-javascript/

 

 

quanto a duvida do codigo eu vou tentar explicar

 

 

e assim

 

em cada elemento do array tera de procurar pela posicao do , e depois substituira no array bbcode desde a posicao 0 ate a posicao de , e desde a posicao de , +1 ate ao tamanho do elemento pela posicao 0 ate a posicao de , e desde a posicao de , +1 ate ao tamanho do elemento do array converte

Compartilhar este post


Link para o post
Compartilhar em outros sites

o link ai ta quebrado! =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

... to fz um "drop" pra mudar as fontes, cores, etc...

peguei esse script aqui que mostra e esconde uma div...

mas eu nun manjo nada de style em JS...

to apanhando nesse "scriptizinho" rsrsrsrs

jah fuçei paks mas nada... rsrsrs

 

quero inverter... ele 1° mostra e dps esconde... quero esconder e quando clicar mostrar....

<script>
function onoff(id) {
var el = document.getElementById(id);
el.style.display = (el.style.display=="") ? "none" : "";
}
</script>

<a href="#" onclick="onoff('teste')">Abre/Fecha</a><div id="teste">Conteudo</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

so tem de colocar style="display:none" no div

 

quanto ao script pode ficar como esta mas eu troquei aqui no exemplo

 

o que isso significa e o seguinte

 

el.style.display = (el.style.display=="none") ? "" : "none";

(el.style.display=="none") ? >> significa if(el.style.display=="none")

"" : "none" >> significa "true":"false" e tipo o if do excel

 

 

<html>
<head>

<script>
function onoff(id) {
var el = document.getElementById(id);
el.style.display = (el.style.display=="none") ? "" : "none";
}
</script>
</head>
<body>
<a href="#" onclick="onoff('teste')">Abre/Fecha</a><div id="teste" 

style="display:none">Conteudo</div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

pow... valew manin!!! ^^

 

agora ta funcionando... jah fiz as opçoes de cores com 64 cores e de fintes...

unica coiz que ainda ñ esta funcionando é o :

 

<script>
function linha(string) { 
  document.getElementById("area").value+="</tr>\n\n";
} 
 </script>

ele esta adicionando a tag no final do texto... quero que ele adiciona onde estiver o ponteiro...

o link que você mandou sobre isso ta quebrado!!!

 

 

eu vo usar esse cript pra add as tags que não precisa ser fechada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem messenger? add: web.mind@hotmail.com que te passo o script

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.