webForumDet fria alternativet

Begränsa ordlängd

Perl & Ruby

3 svar · 263 visningar · startad av sberg

Medlem sedan feb. 20018 inlägg
Frågan#1

I min gästbok vill jag begränsa längden på de ord som skrivs. Det är alltså inte hur mycket som skrivs i fältet utan själva orden vart och ett för sig som jag vill begränsa längden på.

Gästboken är skriven i perl. Finns det någon bra kodsnutt att skriva in?

Medlem sedan nov. 19991 033 inlägg
#2

Om fältet, du vill begränsa orden från, heter message så kan du använda

$FORM{'message'} =~ s/(\S{50})/$1 /isg;

där siffran 50 anger anatal tecken.
Resterande bokstäver raderas inte, utan hamnar efter ett mellanslag.
Praktiskt om du använder tabeller som inte får påverkas av långa ord.

Medlem sedan dec. 19992 555 inlägg
#3

Beror ju på vad du vill göra med de ord som är för långa. Följande snutt klipper helt sonika av orden efter 7 tecken (7:an kan du ändra till vad du vill). Jag antar här att indata ligger i variabeln $indata.

$indata =~ s/(\S{7})\S+/$1/gs;

[r]Var lite långsam där tydligen. :)[/r]

------------------
Robban < robban@lipogram.com >

[Redigerat av Robban den 11 feb 2001]

Medlem sedan feb. 20018 inlägg
#4

Tack så mycket. Funkar alldeles utmärkt.

------------------
//sberg

253 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)