Hej!
Jag har ett forum. Man skriver inlägget i en textarea. Därefter läggs det in i en databas. Sedan hämtas den från databasen och läggs ut på en ASP-sida.
Problemet är att designen förstörs om man skriver något i stil med:
sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd;sdsd osv.
Jag vill alltså ha radbrytningar. Hur gör man det?
Här kommer en funktionen som det säkert finns nån fördefinerad funktion för i ASP.. som jag som vanligt inte kann ;)
Function form_text(txt,max_len)
txt = vbCrLf & txt
pos_first = 1
pos_next = 1
Do While pos_next > 0
pos_first = InStr(pos_first,txt,vbCrLf)
pos_next = InStr(pos_first+1,txt,vbCrLf)
If pos_next-pos_first > max_len And pos_next > 0 Then
tmp_txt = Mid(txt,pos_first,max_len)
tmp_txt_rest = Mid(txt,pos_first+max_len,pos_next-pos_first-max_len)
txt = Replace(txt,tmp_txt & tmp_txt_rest,tmp_txt & vbCrLf & tmp_txt_rest)
pos_first = pos_first+max_len
Else
pos_first = pos_first + 1
End If
Loop
form_text = txt
End Function
funkar alltså såhär t ex:
<%= Replace(form_text(text,50),vbCrLf,"<br>")%>
denna kapar ord rakt av.. sånt får du fixa själv ;)
den här funktionen lägger in ett vBCrLf i början av texten föresten.. så den kan starta sökandet nånstans ;)
Men det är ju bara o ta "Left" när man vill skriva ut texten sen om man inte vill ha det ;)