Jeg har en variabel med en tekst-streng, der kommer fra en query-string (fra en ASP-side) og kan være alle mulige forskellige antal karakterer.
Denne variabel trækker jeg ind i et tekstfelt, men for at vide hvornår der er 1 linie og hvornår der er 2, vil jeg selv bestemme linieskiftene. Jeg vil derfor lave et linieskift efter 45 tegn.
var s = "Jeg har en variabel med en tekst-streng, der kommer fra en query-string (fra en ASP-side) og kan være alle mulige forskellige antal karakterer."; s = s.slice(0, 44)+"\n"+s.slice(45, -1); trace(s);
...indtil Barklund kommer og banker mig oven i hovedet med en bedre metode :o)
function splitStringOnLength(str, len) { var ret = new Array(); while (str.length) { ret.push(str.slice(0,len); str = str.slice(len); } return ret; }
Så kan man skrive:
var s = "Jeg har en variabel med en tekst-streng, der kommer fra en query-string (fra en ASP-side) og kan være alle mulige forskellige antal karakterer."; var s_array = splitStringOnLength(s); var ny_streng = s_array.join("\n");
Hej Barklund - det virker perfekt, men der er noget jeg ikke har tænkt på. Jeg skal bruge det til at vise nogle overskrifter med og det er jo knap så sejt at den deler præcis ved 45 - det giver nogle ret dårlige linieskift.. :S (MIN FEJL!)
Er det muligt at ændre funktionen, så den laver linieskift EFTER det sidste mellemrum i hver linie, men uden at overstige 45 tegn i hver linie..?
Måske en lidt svær en - så jeg hæver lige pointene..
Ja, men det er straks sværere og bestemt ikke noget, som flash er beregnet til. Hvad nu, hvis der er et ord på 50 bogstaver? Eller et ord med en bindstreg? Og mellemrummet skal vel slettes og ikke overføres til næste linje - hvad hvis der er flere mellemrum i træk?
Ja, det er rigtigt.. men er der ikke noget med at man kan bruge HTML tags i variablerne..? Hvis det f.eks. er muligt at indsætte et <br>, så kan jeg jo bare gøre det i asp-koden, VB-Script er muligvis stærkere til at håndtere tekst-strenge end ActionScript.
Du kan også i VBScript indsætte almindelige linjeskift. Men jeg forstår dog ikke, hvorfor så mange bruger VBScript til ASP - når JScript er så meget enklere. Hvis du bruger JScript serverside, så kan jeg hjælpe dig - ellers ville jeg lige FUT'e over i ASP kategorien og spørge, hvordan du laver en wordwrap ved maks 45 tegn med \n som linjeskift (ville være dit præcise spørgsmål).
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.