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

(Resolvido) Como usar o método replace?


James (souza)

Pergunta

Gostaria de como, quando recupero os dados do access já quebrando as linhas???

O motivo é que no dream... uso tabelas fixas, mesmo assim sai do lugar por causa da descrição vinda do banco acima de 50 caracteres.

Então imaginei usar algum método que quebrasse a cada 32 caracteres e quebrar ela.

Este é o primeiro código teste:

Onde tem o: <%=description%>

é onde deve ser quebrados cada 32 caracteres.

<!--#include file="config.asp"-->

<html>
<head>
<title><%=TS%></title>
<link rel="stylesheet" type="text/css" href="estilo.css">
</head>
<body bgcolor="#EE6C00" text="#000000" background="imagens/bg.gif">
<% id = request.querystring("id")
          sqlstmt = "SELECT * FROM noticias where id =" & id & " ORDER BY id DESC"
          Set rs = Server.CreateObject("ADODB.Recordset")
          rs.Open sqlstmt, Dados, 3, 3
          TotalRecs = rs.recordcount
          
        date1 = rs("data")
        id = rs("ID")
        name1 = rs("titulo")
        p1= rs("materia")
        
          description = p1 %>
<table border="1" cellpadding="4" cellspacing="0" width="450" bordercolor="#000000" align="center">
  <tr> 
      <td bgcolor="#FFCC00" align="center">
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td align="center"><strong><%=name1%></strong></td>
          </tr>
        </table>
        </td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td> 
              <% if rs("foto") = "N" then %>
              <img src="imagens/semfoto.gif" border="0" align="left" hspace="8" vspace="2"> 
              <% else %>
              <img src="imagens/<%=rs("foto")%>" border="0" align="left" hspace="8" vspace="2"> 
              <% end if %>
              <strong>Data:</strong> <%=date1%><br>
              <br>
              <%=description%> <br>
              <br>
              <br>
            </td>
          </tr>
        </table>
      </td>
    </tr>
    <tr> 
      <td bgcolor="#FF9900"> 
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr> 
            <td align="center"><a href="java script:self.history.go(-1)"><b>voltar</b></a></td>
          </tr>
        </table>
      </td>
    </tr>
  </table>                        
</body>
</html>

Este é o segundo código teste:

O nome deste arquivo é: lista.asp

<%

DIM nome_categoria,SQLlista,rsLista

nome_categoria = request.querystring("categoria")

SQLlista = "SELECT * From ofertas where categoria = '" & nome_categoria & "' ORDER BY nome"

Set rsLista=Conexao.Execute(SQLlista)

%><body leftmargin="0" topmargin="10" marginwidth="0" marginheight="0">

<style type="text/css">

#centrar {

position:fixed;

top:450px;

left:120px;

width:0px;

height:0px;

}

</style>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<TR>

<TD colspan="3"><img src="imagens/ALTURA.gif" width="2" height="12"></TD>

</TR>

<tr>

<td width="239"> </td>

<td width="739"><table border="0" width="100%" cellpadding="2">

<tr>

<td width="100%" valign="middle" bgcolor="#5A5A3D"><table width="100%" height="25" border="0" cellpadding="0" cellspacing="0">

<tr>

<td width="71%"><b><font face="verdana, tahoma, arial" size="2" color="#ffffff">:. <%=nome_categoria%></font></b></td>

<td width="29%" align="right" valign="bottom"><a href="index.asp" class="linkbranco"><b>

<p align="right"><font face="verdana, tahoma, arial" size="1" color="#ffffff">Página inicial</b></a></p></td>

</tr>

</table></td>

</tr>

<%

If rsLista.EOF Then

%>

<tr>

<td width="100%" valign="middle"><font face="verdana, tahoma, arial" size="2">Não foi encontrado nenhum cadastro!</font>

<%

Else

While Not rsLista.EOF

%> </td>

</tr>

<tr>

<td width="100%" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<td width="4%" height="155"> </td>

<td width="100%" valign="bottom"><font face="verdana, tahoma, arial" size="2"><b>Nome:</b> <%=rsLista("nome")%><br />

<b>Idade:</b> <%=rsLista("idade")%> anos<br />

<b>Endereço:</b> <%=rsLista("endereco")%><br />

<b>Telefone:</b> <%=rsLista("telefone")%><br />

<b>E-mail:</b> <a href="mailto:<%=rsLista("email")%>" class="link"><u><%=rsLista("email")%></u></a><br />

<b>Tempo de Atuação:</b> <%=rsLista("tempo_atuacao")%><br />

<b>Escolaridade:</b> <%=rsLista("escolaridade")%><br />

<b>Referências:</b> <%=rsLista("referencias")%><br />

<b>Outras Atividades:</b> <%=rsLista("outras_atividades")%></font>

é neste código que também quero que quebre a cada 32 caracteres

</td>

</tr>

</table> </td>

</tr>

<tr>

<td width="100%" valign="middle"><hr size="1" color="#000000" align="left" /> </td>

<%

rsLista.MoveNext

Wend

End If

%>

</tr>

</table></td>

</tr>

</table>

Alguém pode me ajudar?????

Agradeço pela ajuda!

Editado por bareta
Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Possibilidades de se fazer assim há, o que não há é logica, pois se fizeres isso ira descompor as palavras, e que para o leitor final não é nada agradavel, nem legivel, então a melhor forma de se prevenir é fazer uma função, que detcta se há palavras com mais de 32 caracteres sem espaço entre elas antes mesmo de salvar no banco, ou seja através de javascript ou expressao regular. Caso haja, então não salva no banco, até que o individuo mude a palavra,. pois no brasil é muito incomum usar palavras com mais 25 caracteres.

Link para o comentário
Compartilhar em outros sites

  • 0

Você pode utilizar a função split para separar as palavras (ou seja, separando os espaços) e percorrer os valores do array para ver se há algo errado. Também há outras formas de fazer, como expressões regulares.

Outra coisa... Recomendo que faça no lado servidor e não apenas no Javascript para impedir problemas de compatibilidade e aumentar a segurança.

Obviamente, o melhor é você fazer a verificação em ambos os lados, visto que com javascript não haverá necessidade de requisição com o servidor e isso diminuirá o tempo. Por outro lado, é interessante fazer no ASP para evitar que alguém consiga burlar seu sistema.

Link para o comentário
Compartilhar em outros sites

  • 0

Exemplo:

<script language="JavaScript"> 

function verifica() { 

var campo = document.form.comentario.value; 
var tamanho_campo=document.form.comentario.value.length-1; 
escreve = campo.substring(0,tamanho_campo) 
var comentario = campo; 
var ate=30; 
var quebra = comentario.split(" "); 
var total = quebra.length; 
for(var i=0; i < total; i++) { 
if(quebra[i].length>ate) { 
alert("as palavras não podem ter mais que "+ ate +" caracter(es) sem espaço") 
document.form.comentario.value=escreve; 
return false; 
} 

} 

} 
</script> 
<form name="form" method="post" action="#" onsubmit="return valida_campo()">
<textarea COLS="48" ROWS="14" NAME="comentario" onKeypress="verifica();"></textarea>
<input type="submit" value="enviar">
</form>

Salve como teste.html e tente escrever palavras com mais de 30 caracteres, para ver o que acontece..

Abraços...

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...