Avatar billede jps2mt Nybegynder
31. januar 2003 - 23:09 Der er 9 kommentarer og
2 løsninger

Sætte begrænsning på en strengs "udseende"

Jeg har lavet en, synes jeg selv, ret fancy tagwall (http://www.oldtimerklubben.dk/opslagstavle) som jeg nu skal have modificeret lidt.

Jeg kan dog ikke selv lige gennemskue hvordan jeg laver følgende begrænsninger på en streng:

Lad os kalde strengen $input

$input må ikke indeholde OVER 10 linier, altså MAKS 10 linier...

Hver linie i $input må ikke overskrive MAKS 63 tegn...

Et ord må ikke brækkes i 2, dvs. en linie må kun deles ved mellemrum mellem ordene...

Er der en der lige kan gennemskue en sådan funktion??

Mvh. Morten (Jeg kan evt. kontaktes på ICQ 12939791)
Avatar billede jespernaur Nybegynder
31. januar 2003 - 23:33 #1
Jeg forstår ikke helt - får du $input udefra, eller skal du selv tildels fremstille den/rette den til? Du nævner kravene:

    $input må ikke indeholde OVER 10 linier, altså MAKS 10 linier...

Dette kan nok kontrolleres.

    Hver linie i $input må ikke overskrive MAKS 63 tegn...

Dette ligeledes.

    Et ord må ikke brækkes i 2, dvs. en linie må kun deles ved mellemrum mellem ordene...

Det er her jeg kommer i tvivl, for hvem er det der skal forhindres i at brække ordene over?
Avatar billede jps2mt Nybegynder
31. januar 2003 - 23:39 #2
$input kommer fra en form...
Avatar billede sthen Nybegynder
01. februar 2003 - 00:09 #3
Jeg tror du skal smide dette spm. i JavaScript-kategorien i stedet. Lyder somom det vil være lettere at lave der.
Avatar billede jespernaur Nybegynder
01. februar 2003 - 00:12 #4
Nu tvinger du mig til at gætte -- er der tale om at data kommer fra et multilinie <textarea>? Hvis dette er tilfældet, burde du kunne indstille det således:

<textarea name=... id=... cols=63 rows=10 wrap=physical></textarea>

Dette burde tvinge den til at 'brække' linierne ved seneste mellemrum før 63 tegn. Du kommer nok til med håndkraft at kontrollere 10-liniers kravet, da dette ikke synes at være muligt i <textarea>
Avatar billede jps2mt Nybegynder
01. februar 2003 - 00:22 #5
jespernaur >> Med den der wrap param. på textarea'et, når den så laver linie skift, bliver det så med et \n som man kan tjekke på, ligesom når man selv trykker enter??
Avatar billede jespernaur Nybegynder
01. februar 2003 - 00:25 #6
Ja
Avatar billede jps2mt Nybegynder
01. februar 2003 - 08:34 #7
Har du så en ide til hvordan man kan tjekke på det med de 10 linier?? Jeg ved hvordan man kan tjekke på hele strengen med javascript, men man kan jo ikke bare sige 10 * 63 og så sige at den ikke må overstige det i længde, da det jo ikke lige er sikkert at en linie indeholder 63 tegn...
Avatar billede jps2mt Nybegynder
09. februar 2003 - 19:15 #8
jespernauer får de 100 for løsningen med de 63 tegn...Resten flyttes til JavaScript sektionen...
Avatar billede jps2mt Nybegynder
10. februar 2003 - 17:35 #9
jespernauer >> Den sætter faktisk IKKE \n ind når den bryder linierne...
Avatar billede jespernaur Nybegynder
10. februar 2003 - 17:44 #10
Heller ikke i den værdi man modtager på serveren ved submit? Hvis ikke, retter den sig ikke efter den bog, jeg har læst om det i ("HTML, The Definitive Guide, 3rd Edition" udgivet på O'Reilly), men OK - den bog er måske ikke den nyeste.
Avatar billede jps2mt Nybegynder
10. februar 2003 - 17:49 #11
Hmmm...Det ved jeg så ikke...Problemet er at det script der tjekker efter 10 linier, kører inden man submitter...Altså mens man indtaster...
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester