Volledige versie bekijken : string limiter
eagle
%Europe/Berlin %775 %2005, 19:36
een klein functietje om strings in te korten.
function dotAdd(oldstring:String, maxsize:Number):String {
var a:Array = oldstring.split("");
if (a.length>maxsize) {
newstring = new String();
for (i=0; i<Number(maxsize-2); i++) {
newstring += a[i];
}
newstring += "..";
return newstring;
} else {
return oldstring;
}
}
Bijvoorbeeld:
trace(dotAdd("hoe gaat het met je?",10));
Output: "hoe gaat.."
Roenes
%Europe/Berlin %782 %2005, 19:46
Ik zou de for lus eruit slopen en er dit van maken:
function dotAdd(oldstring:String, maxsize:Number):String
{
return oldstring.substr(0, maxsize - 2) + "..";
}
Tha Narie
%Europe/Berlin %789 %2005, 19:56
// © Folkert
function chopString( str:String, len:Number):String
{
return (str.length<len) ? str : str.substring(0, len)+"...";
}
Waar len het aantal tekens is dat overblijft, exclusief het aantal puntjes.
Die IF is er zodat je geen onnodige puntjes neer zet als de string kort genoeg is.
Folkert
%Europe/Berlin %826 %2005, 20:50
nog mooier zou een optie zijn om whatever je wilt als scheiding te gebruiken ipv de ...
function chopString( str:String, len:Number, end:String):String
{
end = (end==undefined) ? "..." : end;
return (str.length<len) ? str : str.substring(0, len)+end;
}
//use
var more="..<a href=\\"http://geweldigesite.nl\\">more</a>";
chopString("foo en bar komen vaker voor dan je denkt", 20, more);
//of
chopString("zeg maar niets meer", 10);
arshad
%Europe/Berlin %546 %2005, 14:06
trouwens, is er een bepaald verschil tussen substring en substr ?
Roenes
%Europe/Berlin %548 %2005, 14:10
trouwens, is er een bepaald verschil tussen substring en substr ?Dit had je zelf kunnen opzoeken in de help van flash ;)
Antwoord:
Niet wezenlijk volgens mij. Het enige verschil wat ik zo kan ontdekken is het gebruik van de parameters. Bij substr geef je de beginpositie en eventueel de lengte van de nieuwe string mee en bij substring geef je de beginpositie en eventueel de eindpositie mee. :)
Folkert
%Europe/Berlin %541 %2005, 14:00
wel substr neemt als arumenten aan de start index en als tweede argument de lengte van wat je terug wilt.
substring echter geef je start index en als tweede arument de end index.
Dan heb je nog de slice welke veel lijkt op de substing echter kan je die als startIndex ook laten beginnen bij je laatste character in de string, substring kan dat niet.
geschiedenis::
In flash 5 was de substr beduidend langzamer was dan de substring, omdat substr indertijd bovenop de substring was gebouwt eigenlijk. Nu is dat verschil niet meer zo.
in as
var site = "flashfocus.nl";
//substring
naam = site.substring(5,10);
//als je de eerste argument hoger maakt dan de tweede, draait flash deze om
trace(naam);
naam = site.substring(10,5);
//substr
trace(naam);
naam = site.substr(5, 5);
trace(naam);
naam = site.substr(-8, 5); //telt die vanaf end
//slice
//zelfde als substring gebruik startIndex , endIndex
naam = site.slice(5,10);
//verschil met substring, je kan de startindex ook bij het laatste character laten beginnen
//de tweede argument is dan ook negatief ofcourse
naam = site.slice(-8,-3);
alle 6 bovenstaand gemaakte naam = geven 'focus' als value ;)
Voortaan wellicht beter even vragen bij discussie of als nieuwe topic ;)
Roenes
%Europe/Berlin %545 %2005, 14:05
Folkert, waarom zou je -8, -3 gebruiken als het positief gezien veel makkelijker is om uit te rekenen? Ik zie niet in wanneer die min functie handig kan zijn :)
Tha Narie
%Europe/Berlin %556 %2005, 14:20
blaat.fla
narie_kanarie.jpg
flashfocus.psd
substr(-3);
Folkert
%Europe/Berlin %576 %2005, 14:50
Roenes dan jij (en ik ) daar de handigheid niet van zien of ondekt hebben, wil niet zeggen dat het niet gewoon een geldige optie is, en alszodanig is het nette basis informatie waardoor men voortaan weet wat, wie en hoe KAN doen ;)
var checkje:String = "test";
tekst_txt.onChanged = function ()
{
trace(checkje);
var gokje = this.text.slice( -checkje.length);
trace(gokje);
var uitslag = (gokje == checkje) ? "gewonnen!" : "verloren";
trace("het antwoord = " + uitslag);
}
Roenes
%Europe/Berlin %644 %2005, 16:27
Roenes dan jij (en ik ) daar de handigheid niet van zien of ondekt hebben, wil niet zeggen dat het niet gewoon een geldige optie is, en alszodanig is het nette basis informatie waardoor men voortaan weet wat, wie en hoe KAN doen ;)Klopt, daar heb je gelijk in. :)
Ennuhm narie, bedoel jij niet splice(-3) ipv substr(-3) :D
The_One
%Europe/Berlin %905 %2005, 22:44
Ennuhm narie, bedoel jij niet splice(-3) ipv substr(-3) :D
Huh, of ik snap er niks meer van, maar volgens mij bedoelde Narie ermee dat je met substr(-3); de bestandsextenties kan bepalen van de strings.
Of heb ik het nu helemaal mis?:)
Roenes
%Europe/Berlin %948 %2005, 23:45
Klopt, ik had iets te snel gelezen in as-ref. My bad :I
Dauntless
%Europe/Berlin %977 %2005, 00:28
Huh, of ik snap er niks meer van, maar volgens mij bedoelde Narie ermee dat je met substr(-3); de bestandsextenties kan bepalen van de strings.
Of heb ik het nu helemaal mis?:)
Extensies kunnen toch ook 2 char's zijn?
The_One
%Europe/Berlin %983 %2005, 00:36
jup, maar zo bedoelde Narie het in het vb, denk ik
Roenes
%Europe/Berlin %036 %2005, 01:52
Extensies kunnen toch ook 2 char's zijn?Klopt, maar daar ging het niet om. Het ging gewoon om het feit hoe je een mingetal als parameter kan gebruiken :)
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.