Ir para conteúdo
Fórum Script Brasil
  • 0

replace sem for()


Tesla

Pergunta

galera to quase finalizando meu RTE, mas to com um problema:

fiz um sistema em q o cara escreve na textarea normal com os codes e em baixo ele visualiza html, mas um problema, o replace do code tah passando só uma vez...

no caso tah assim:

function forma(ID, out) {
from_bbcode = new Array(35);
to_html = new Array(35);

from_bbcode[0] = "[b]";
to_html[0] = "<b>";

from_bbcode[1] = "[/b]";
to_html[1] = "</b>";

from_bbcode[2] = "[i]";
to_html[2] = "<i>";

from_bbcode[3] = "[/i]";
to_html[3] = "</i>";

from_bbcode[4] = "[u]";
to_html[4] = "<u>";

from_bbcode[5] = "[/u]";
to_html[5] = "</u>";

from_bbcode[6] = "[cortado]";
to_html[6] = "<strike>";

from_bbcode[7] = "[/cortado]";
to_html[7] = "</strike>";

from_bbcode[8] = "[centro]";
to_html[8] = '<center><span style="text-align:center;">';

from_bbcode[9] = "[/centro]";
to_html[9] = "</span></center>";

from_bbcode[10] = "[direita]";
to_html[10] = '<right><span style="text-align:right;">';

from_bbcode[11] = "[/direita]";
to_html[11] = "</span></right>";

from_bbcode[12] = "[esquerda]";
to_html[12] = '<left><span style="text-align:left;">';

from_bbcode[13] = "[/esquerda]";
to_html[13] = "</span></left>";

from_bbcode[14] = "[code ]";
to_html[14] = '<table cellspacing="0" cellpadding="0" style="border: 1px dotted #0000FF;font-family:Perpetua;font-size:11px;"><tr><td><b>C&ocaute;digo<b></td></tr><tr><td>';

from_bbcode[15] = "[/code ]";
to_html[15] = "</td></tr></table>";

from_bbcode[16] = "[quote ]";
to_html[16]= '<table cellspacing="0" cellpadding="0" style="border: 1px dotted #0000FF;font-family:Verdana;font-size:11px;"><tr><td><b>Quote</b></td></tr><tr><td>';

from_bbcode[17] = "[/quote ]";
to_html[17] = "</td></tr></table>";

from_bbcode[18] = "[fonte tam=|";
to_html[18] = '<font size="';

from_bbcode[19] = "|]";
to_html[19] = '">';

from_bbcode[20] = "[/fonte]";
to_html[20] = "</fon>";

from_bbcode[21] = "[fonte tipo=|";
to_html[21] = '<font face="';

from_bbcode[22] = "[link url=|";
to_html[22] = '<a href="';

from_bbcode[23] = "[/link]";
to_html[23] = "</a>";

from_bbcode[24] = "[img url=|";
to_html[24] = '<img src="';

from_bbcode[25] = "[fonte cor=|";
to_html[25] = '<font color="';

from_bbcode[26] = "[borda cor=|";
to_html[26] = '<span style="border:2px dotted ';

from_bbcode[27] = "[/borda]";
to_html[27] = "</span>";

from_bbcode[28] = "[ol]";
to_html[28] = "<ol type=1>";

from_bbcode[29] = "[/ol]";
to_html[29] = "</ol>";

from_bbcode[30] = "[li]";
to_html[30] = "<li>";

from_bbcode[31] = "[/li]";
to_html[31] = "</li>";

from_bbcode[32] = "[ul]";
to_html[32] = "<ul>";

from_bbcode[33] = "[/ul]";
to_html[33] = "</ul>";

from_bbcode[34] = "[br]";
to_html[34] = "<br>";

emt = new Array(45);
emt[0] = "[=preocupado=]";
emt[1] = "[=hehe=]";
emt[2] = "[=safadon=]";
emt[3] = "[=cruel=]";
emt[4] = "[=demon=]";
emt[5] = "[=satan=]";
emt[6] = "[=duvida=]";
emt[7] = "[=money=]";
emt[8] = "[=green=]";
emt[9] = "[=cents=]";
emt[10] = "[=kkkk=]";
emt[11] = "[=huahua=]";
emt[12] = "[=haha=]";
emt[13] = "[=bem=]";
emt[14] = "[=anjo=]";
emt[15] = "[=cushcush=]";
emt[16] = "[=niver=]";
emt[17] = "[=parabens=]";
emt[18] = "[=:P=]";
emt[19] = "[=sound=]";
emt[20] = "[=violao=]";
emt[21] = "[=pc=]";
emt[22] = "[=tenso=]";
emt[23] = "[=fuck=]";
emt[24] = "[=not=]";
emt[25] = "[=não=]";
emt[26] = "[=cerveja=]";
emt[27] = "[=kids=]";
emt[28] = "[=vomito=]";
emt[29] = "[=:x=]";
emt[30] = "[=Zzz=]";
emt[31] = "[=sono=]";
emt[32] = "[=caido=]";
emt[33] = "[=timido=]";
emt[34] = "[=cs=]";
emt[35] = "[=^^=]";
emt[36] = "[=:D=]";
emt[37] = "[=8D=]";
emt[38] = "[=aprovado=]";
emt[39] = "[=beta=]";
emt[40] = "[=^.^=]";
emt[41] = "[=burro=]";
emt[42] = "[=lol=]";
emt[43] = "[=welcome=]";
emt[44] = "[=spam=]";

img = "emoticons/"
rpl = document.getElementById(ID).value;
tamh = rpl.length;

for (x=0;x<35;x++) {
rpl = rpl.replace(from_bbcode[x], to_html[x]);
}
for (e=0;e<44;e++) {
rpl = rpl.replace(emt[e], '<img src="'+img+e+'.gif">');
}

document.getElementById(out).innerHTML = rpl;
out_sbmn = 1;
vsion = 1;
}

coloquei um for com a condição de fazer estes outros fors ateh o length do value da textarea mas se o texto ficava grande dava mt lag porque o for tinha um grande numero de loops pra fazer...

preciso de uma solução plx

Editado por fercosmig
arrumar tags
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

xo ve se eu entendi... você tem um textarea onde o usuario digita o texto + codigos (imagem) e após a digitação o usuario visualiza o texto formatado?

Bom, uma sugestao seria usar um for e com split. Ou seja, o texto se transforma em um array e cada palavra seria verificada com o seu array de imagens para ser substituida

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...