Avatar billede little_kim86 Nybegynder
29. juli 2005 - 19:42 Der er 33 kommentarer og
1 løsning

Lås celle vandret

Har et problem med at hvis en bruger har indskrivet en lang linine uden mellemrum så udvideder den min celle vandret... Vil gerne have denne celle låst så den bare lave linie skrift når den når kanten...

Koden er udtaget af php, derfor ' i stedet for "...


<div align='center'>
                <table border='0' width='370' id='table2' cellpadding='0' cellspacing='0' style='$style_tabel border-collapse: collapse' bgcolor='#FFFFFF'>
                    <tr>
                        <td bgcolor='#FFFFFF' align='left' width='12' valign='top'>
                            $mere
                        </td>
                        <td bgcolor='$bgcolor' align='left' width='70' valign='top' style='border-left-style: solid; border-left-width: 1px; border-right-width: 1px; border-top-style: solid; border-top-width: 1px; $style_bund'>
                            <font face='Verdana' size='1' color='#000000'>$aktivitet</font>
                        </td>
                        <td bgcolor='$bgcolor' align='left' width='150' valign='top' style='border-left-width: 1px; border-right-width: 1px; border-top-style: solid; border-top-width: 1px; $style_bund'>
                            <font face='Verdana' size='1' color='#000000'>$sted</font>
                        </td>
                        <td bgcolor='$bgcolor' align='left' width='130' valign='top' style='border-left-width: 1px; border-right-style: solid; border-right-width: 1px; border-top-style: solid; border-top-width: 1px; $style_bund'>
                            <font face='Verdana' size='1' color='#000000'>$dd/$mm-$aaaa, kl. $tid</font>
                        </td>
                    </tr>
                    $ekstra
                </table>
            </div>
Avatar billede roenving Novice
30. juli 2005 - 00:18 #1
Du kan ikke gøre noget, så en tabelcelle har en begrænsning på længde eller højde ...

-- man kan sætte en divinde i, som så har den maksimale højde og bredde og skjuler overflow, men det er jo heller ikke optimalt ...

Hvis det var mit forum, ville jeg simpelthen banne indlæg, som indeholdt ord, som var over ca. 20 bogstaver, og det kan du jo bare offentliggøre, bindestregen er jo opfundet !-)
Avatar billede little_kim86 Nybegynder
30. juli 2005 - 08:53 #2
JO det kan laves, har det på en af mine andre sider. men ved ikk hvordan jeg har fået den til det... Se evt, den øverste nyhed på www.bjergsnaes.dk/02-03
Avatar billede nielle Nybegynder
30. juli 2005 - 09:04 #3
Der er jo også mellemrum imellem de enkelte "ord" og så er der ikke noget problem.

Har du et url til den side hvor det fejler for dig?
Avatar billede little_kim86 Nybegynder
31. juli 2005 - 17:27 #4
Nej har jeg ikk... laver hjemmesiden offline på min egen computer... Hva kan man gøre af andre ting for at løse problemet?
Avatar billede nielle Nybegynder
31. juli 2005 - 20:16 #5
Du har da en side hvor at du har observeret problemet på?

Hvis der er problemer med meget lange ord, så kan du jo dele dem i koden. Dette gøres ved at indsætte et mellemrum midt i dem. Hjemmesiden skal nok selv fínde ud af at ombryde linje ved mellemrum.
Avatar billede little_kim86 Nybegynder
31. juli 2005 - 21:54 #6
okay har du noget kode til det???
Avatar billede nielle Nybegynder
31. juli 2005 - 22:14 #7
$tekst = "Din sætning med et meget laaaaaaaaaaaaaaaaaaaaaaaaangt ord i";
$tekstArr = explode(" ", $tekst);

$maxStrLen = 10;

$text = "";
foreach ($tekstArr as $ord)
{
    if (strlen($ord) > $maxStrLen)
    {
        while (strlen($ord) > $maxStrLen)
        {
            $text .= substr($ord, 0, $maxStrLen) . " ";
            $ord = substr($ord, $maxStrLen);
        }
    }
    else
    {
        $text .= $ord . " ";
    }
}
Avatar billede olebole Juniormester
31. juli 2005 - 22:18 #8
<ole>

Den eneste gode løsning er roenvings (30/07-2005 00:18:35):
"Hvis det var mit forum, ville jeg simpelthen banne indlæg, som indeholdt ord, som var over ca. 20 bogstaver, og det kan du jo bare offentliggøre, bindestregen er jo opfundet !-)"

PHP kan ikke dele et ord på en grammatisk ordentlig måde - og da så lange ord kun forekommer, når nogen vil lave ged i dit forum, er idéen om at banne så lange ord, den eneste fornuftige vej frem  ;o)

/mvh
</bole>
Avatar billede nielle Nybegynder
31. juli 2005 - 22:32 #9
Ole, hvis der er tale om et meget langt ord så er der alligevel næppe nogen "grammatisk ordentlig måde" at dele det på alligevel. PHP eller ej.
Avatar billede milandt Nybegynder
01. august 2005 - 00:00 #10
overflow:hidden;
Avatar billede olebole Juniormester
01. august 2005 - 00:23 #11
nielle >> Jo, hvis der faktisk er tale om et ord - men det er der jo efter al sandsynlighed ikke. Det var derfor, jeg skrev: Ban den slags indlæg.
Hvis et ord er så langt, er det formodentlig et forsøg på sabotage - og det bør ikke give én hovedpine  :)
Avatar billede little_kim86 Nybegynder
01. august 2005 - 15:31 #12
Det ord på den hjemmeside var bare for at komme med et eksembel... Men ikk nogle gode forslag til noget der kan gøres... Nogle der har koden som tæller antal ord i en streng?
Avatar billede roenving Novice
01. august 2005 - 15:33 #13
split !-)

-- split din tekst med mellemrum og aflæs længden på arrayet ...
Avatar billede little_kim86 Nybegynder
01. august 2005 - 15:38 #14
tak, men noget kode... Forstod ikk så meget af det der... er ikk den vilde ørn til det...
Avatar billede roenving Novice
01. august 2005 - 15:42 #15
Skal du gøre det i dit php-script eller skal du gøre det i browseren, for split er en indbygget funktion i php (og jeg kender ikke syntaksen, men den kan jo slås op på php-fora !-), mens den i javascript er en metode på et string-objekt !-)
Avatar billede little_kim86 Nybegynder
01. august 2005 - 15:45 #16
php kode tak...
Avatar billede roenving Novice
01. august 2005 - 15:52 #17
Avatar billede little_kim86 Nybegynder
01. august 2005 - 16:15 #18
ikke nogen der kan komme med noget kode?? 30 point til den der kan komme med noget brugbart kode...
Avatar billede nielle Nybegynder
01. august 2005 - 18:53 #19
Har du afprøvet den kode som jeg postede 31/07-2005 22:14:58?
Avatar billede little_kim86 Nybegynder
01. august 2005 - 19:16 #20
nej har jeg ikke... ved ikk helt hva jeg vil gøre endnu... men jo ikke fedt hvis den bare lavet et mellemrum for så er det jo ikk delt... og hvis man sætter en bindested tror den vel stadig at det er et sammenhængende ord...
Avatar billede nielle Nybegynder
01. august 2005 - 19:19 #21
Den kan da hurtigt modtifiseres til at inkludere en bindestreg der hvor der deles:

$tekst = "Din sætning med et meget laaaaaaaaaaaaaaaaaaaaaaaaangt ord i";
$tekstArr = explode(" ", $tekst);

$maxStrLen = 10;

$text = "";
foreach ($tekstArr as $ord)
{
    if (strlen($ord) > $maxStrLen)
    {
        while (strlen($ord) > $maxStrLen)
        {
            $text .= substr($ord, 0, $maxStrLen) . "- ";
            $ord = substr($ord, $maxStrLen);
        }
    }
    else
    {
        $text .= $ord . " ";
    }
}
Avatar billede little_kim86 Nybegynder
01. august 2005 - 23:03 #22
Okay men hvis du sætter en bindesteg løser det vel ikke problemet. VIl det så ikk stadig være et ord???
Avatar billede nielle Nybegynder
02. august 2005 - 06:31 #23
Nu er jeg ikke mere sikker på hvad det er du vil? Ville du ikke have delt lange "ord" sådan at de kan være i cellen uden at denne tvinges til at blive bredere?
Avatar billede roenving Novice
02. august 2005 - 09:01 #24
En bindestreg vil, som navnet siger, tillade browseren at dele ordet ...
Avatar billede milandt Nybegynder
02. august 2005 - 09:48 #25
Du kunne løbe alle tegn igennem med javascript eller php og indsætte <wbr> mellem hvert tegn.

<wbr> tillader browseren at dele et ord her hvis der er behov for det..

http://www.quirksmode.org/oddsandends/wbr.html
Avatar billede nielle Nybegynder
08. august 2005 - 19:35 #26
Hvad med noget respons her?
Avatar billede olebole Juniormester
08. august 2005 - 19:45 #27
milandt >> Det er et rigtig dårligt råd! <wbr> har aldrig været en del af noge HTML-standard
Avatar billede nielle Nybegynder
08. august 2005 - 20:55 #28
I mellemtiden har jeg så fundet et meget simplere kodeeksempel:

$tekst = "Din sætning med et meget laaaaaaaaaaaaaaaaaaaaaaaaangt ord i";
$maxStrLen = 10;

echo wordwrap($tekst, $maxStrLen, "- ");

Mere om wordwrap på:

http://dk2.php.net/wordwrap
Avatar billede little_kim86 Nybegynder
27. september 2005 - 21:47 #29
Nå ingen hjælp
Avatar billede nielle Nybegynder
27. september 2005 - 22:34 #30
Hvad mener du med det? Jeg har da postet masse kodeeksempler?!
Avatar billede little_kim86 Nybegynder
28. september 2005 - 07:21 #31
Det var bare ikke lige det jeg havde brug for... Skulle bruge noget der kunne låse cellerne.
Avatar billede nielle Nybegynder
28. september 2005 - 17:01 #32
Du har fået et par eksempler på den kode du spurgte efter i 31/07-2005 21:54:31 - siden da har du ikke snakket mere om at låse i bredden. Og du har endda afvist et ellers udemærket alternativ i 01/08-2005 00:00:13.

Misforstå mig ikke - jeg er ret ligeglad med point på denne her. Men jeg synes nu at det er lige i overkanten at du nu skriver at du ikke har fået hjælp. Specielt da du ikke selv har meldt ud hvad der var ved de givne løsninger du ikke kunne lide/bruge. :^|
Avatar billede roenving Novice
28. september 2005 - 19:37 #33
Øeh, whaddd ...

-- jeg synes du skylder en rigtig god forklaring OG nogle point ,-(
Avatar billede little_kim86 Nybegynder
29. september 2005 - 14:17 #34
Hvis jeg skulle give en point her, så var det den person der sagde at man ikke kan låse cellerne... Det var det eneste jeg var intrasseret i... Men skal huske det til en anden gang...
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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