Om en användare skickar en text via ett formulär, hur ska jag skriva så att varje ord i en mening börjar med stor bokstav?
Ex. "Detta är En mening som Jag vill Formatera om"
så att den blir så här:
"Detta Är En Mening Som Jag Vill Att Den Ska Se Ut"
9 svar · 482 visningar · startad av bigsky
Om en användare skickar en text via ett formulär, hur ska jag skriva så att varje ord i en mening börjar med stor bokstav?
Ex. "Detta är En mening som Jag vill Formatera om"
så att den blir så här:
"Detta Är En Mening Som Jag Vill Att Den Ska Se Ut"
Om det bara är vid presentationen som texten ska visas på det sättet så kan du göra det med css:
<span style="text-transform: capitalize;">Detta är En mening som Jag vill Formatera om</span>
Nej det är vid sparandet till databasen som texten ska formateras om.
Finns det någon maximal längd på den text som kommer sparas? Handlar det om en till tre meningar eller om en uppsats på 25 sidor?
Egentligen handlar det oftast bara om två ord. Det är namn som ska sparas med formatet "Förnamn Efternamn" och inte "förnamn efternamn".
Ja, är det inga groteska mängder data så kan du ju alltid göra såhär:
Dim sMyString, vMyArray, i
sMyString = "det finns inte så många versaler"
vMyArray = Split(sMyString, " ")
sMyString = ""
For i = LBound(vMyArray) To UBound(vMyArray)
If Len(vMyArray(i)) > 0 Then sMyString = sMyString & UCase(Left(vMyArray(i), 1)) & Right(vMyArray(i), Len(vMyArray(i)) - 1) & " "
Next
sMyString = Trim(sMyString)
/red. Fel upptäckte jag.
Eller så här. Lite enklare och bättre prestanda i.o.m. mindre konkatenerande. :)
Dim sMyString, vMyArray, i
sMyString = "det finns inte så många versaler"
vMyArray = Split(sMyString, " ")
For i = LBound(vMyArray) To UBound(vMyArray)
vMyArray(i) = UCase(Left(vMyArray(i), 1)) & Right(vMyArray(i), Len(vMyArray(i)) - 1)
Next
sMyString = Join(vMyArray, " ")
Redigering: Fixade fel...
Ännu bättre. :)
Dim sMyString, vMyArray, i
sMyString = "det finns inte så många versaler"
vMyArray = Split(sMyString, " ")
For i = LBound(vMyArray) To UBound(vMyArray)
vMyArray(i) = UCase(Left(vMyArray(i), 1)) & Right(vMyArray(i), Len([b]vMyArray(i)[/b]) - 1)
Next
sMyString = Join(vMyArray, " ")
Ah, Erik hade glömt att specificera vilket index i arrayen som skulle användas.