Hej! När folk skriver för långa ord i gästboken så blir det inte bra, och jag tänkte lösa detta... Frågan är om man ska splitta texten när man lägger in den i databasen eller när man plockar ut den. Vilket är bäst? Jag antar att det finns en funktion för att göra detta.
<script language="javascript" type="text/javascript">
<!--
function kollagb(){
if (document.gbook.namn.value==""){
alert("Du måste ange ditt namn.");
return false;
} else if (document.gbook.medd.value==""){
alert("Du måste skriva ett meddelande.");
return false;
} else if (document.gbook.medd.value.length > 300){
alert("Ditt meddelande är större än 300 tecken. Var vänlig reducera meddelandet.");
return false;
}
}
//-->
</script>
intIndex = 0
intCursor = 0
intRowLength = 60 [blue]'antal tecken per rad[/blue]
strText = Request.Form("txtMeddelandet") [blue]'eller hur du nu hämtar texten...[/blue]
strText = Replace(strText, vbCrLf, " ")
strText = Replace(strText, "<br>", " ")
While intIndex < Len(strText)
If intCursor Mod intRowLength = 0 Then
If Mid(strText, intCursor, 1) = " " Then
strOutput = strOutput & Mid(strText, intIndex, intRowLength) & "<br>"
intIndex = intIndex + intRowLength
Else
strOutput = strOutput & Mid(strText, intIndex, InStrRev(strText, " ", intIndex + intRowLength)) & "<br>"
intIndex = intIndex + intRowLength - InStrRev(strText, " ", intIndex + intRowLength)
End If
End If
intCursor = intCursor + 1
Wend
If intIndex > Len(strText) And intCursor < Len(strText) Then
strOutput = strOutput & Mid(strText, intCursor)
End If
If strOutput = "" Then strOutput = strText
Skrivet ur huvudet, så jag lovar inget :) Fungerar det som jag tänkt så kommer strOutput att innehålla meddelandet med radbrytningar där det är angett.
m_soderlund: Den koden kontrollerar ju bara så att hela inlägget är mindre än 300 tecken. Den bryter ju inte ord som är för långa (vilket var trådskaparens fråga.).
Engine^: Har tyvärr ingen möjlighet att pröva din kod, så jag frågar dig istället :)
Har den koden samma problem som koden jag använde i den här tråden? Dvs. Även om en textsträng skulle behöva brytas 2 gånger, så bryts den bara en gång?