Om du bara ska göra en eadbrytning efter ett visst antal tecken och skiter i om orden bryts mitt i så är det bara att göra en myString.Insert(start index, string value) och loopa igenom strängen.
Lite snyggare är det kanske att bryta raden i första mellanslaget efter ett visst antal tecken. Så här nånting kanske:
//Det antal tecken där raden ska brytas
int i=40;
//Så länge det finns tecken kvar i strängen
while (i<myString.Length) {
//Räknar fram första mellanslaget efter i tecken
och lägger in en <br>.
myString = myString.Insert(myString.IndexOf(" ",i),"<br>");
//Plussa på i med 44 tecken efter sista radbrytningen
(44 därför att i=40 vid start blir 44 tecken när du lagt
till en <br>-tagg som ju innehåller 4 tecken till...
i=(myString.LastIndexOf("<br>"))+44;
}
Snyggast är förstås om du skapar en egen klass och verkligen utnyttjar det trevliga i riktig OO-programmering. :)
//Din klass:
public class myClass {
public static string myFunction(string myString) {
int i=40;
while (i<myString.Length) {
myString = myString.Insert(myString.IndexOf(" ",i),"<br>");
i=(myString.LastIndexOf("<br>"))+44;
}
myString = myString.TrimEnd();
return myString;
}
}
//Sen är det bara att skicka in vilken sträng som helst,
när som helst, var som helst:
myClass.myFunction(myString);
Att arbeta med funktioner och klasser på det här sättet är överlägset gammal ASP-kod. Du får en oerhört mycket bättre struktur på dina sidor. Ett tips är att skapa ett eget namespace innehållande klasser med vanliga funktioner som du använder om och om igen. Utvecklingsarbetet blir väldigt mycket mer effektivt på det sättet!
Detdär ser bra ut men jag vill veta hur man gör en function som lägger in <br> när jag trycker "enter" i nyhetsscriptet.
Inte efter antal tecken utan direkt vid enterslag.
Skriv gärna lite vad varje del gör så jag förstår.