Oprettet tir. d. 18. oktober 2011 kl. 22:40:26

hobbittend
hobbittend (6.300 point. Point ude: 470)

Gæstbog: tekstombrydning

Hej.

jeg sidder og roder med at lave en gæstebog.
Mit problem nu er, at hvis man eksempelvis indtaster en besked bestående af ét enkelt "ord" bestående af 800 tegn, så bliver den linje meget lang, og ødelægger opsætningen af hjemmesiden fuldstændig.

Hvordan forhindrer jeg bedst muligt, at linjer bare fortsætter langt ud til højre?

Skrevet tir. d. 18. oktober 2011 kl. 22:59:25| #1

olebole
olebole (214.613 point)
<ole>

Forkast indlægget!

Et ord på 800 tegn giver ikke mening på noget sprog. Der er en anden dagsorden for et indlæg af den karakter. Drop det og brug din kostbare tid på reelle problemer  *o)

/mvh
</bole>

Skrevet ons. d. 19. oktober 2011 kl. 08:09:48| #2

hobbittend
hobbittend (6.300 point)
Du har fat i en pointe der.
Hvordan tjekker jeg længden på ordene?

strlen finder jo længden på det hele. er vi ude i noget med at finde frem til det første mellemrum her?

Kender kun den procedure i VB.net...
Kan du hjælpe mig her? =)

Skrevet ons. d. 19. oktober 2011 kl. 18:01:31| #3

splazz
splazz (57.138 point)
majbom.com
jeg tror ikke der er en specifik funktion der returnerer længden af det længste ord i en streng, men du kunne vel explode strengen ved mellemrum og sorte arrayet så det længste ord kommer først?

Skrevet ons. d. 19. oktober 2011 kl. 18:23:53| #4

olebole
olebole (214.613 point)
Jeg kender heller ikke en PHP funktion, der kan, så du er nok nødt til at gøre, som splazz skriver.

I en chat, hvor folk udelukkende kommer for at skrive, kunne det måske være et performance problem. En gæstebog skriver måske hver 20. besøgende i, så det bør ikke være noget problem her  =)


$arr = explode(" ", $str);
for ($i=0,$j=count($arr); $i<$j; $i++) {
    if (strlen($arr[$i])>=50) {
        // Afbryd indsættelse
    }
}


Skrevet ons. d. 19. oktober 2011 kl. 22:48:29| #5

danco
danco (11.278 point)
Derudover kan man måske have en mening omkring hvordan de design er bygget op hvis du på den måde er afhængig af tekst layouttet.

I min verden lyder det ikke til at være et PHP problem men et CSS problematik.
Hvis du lader teksten bliver indsat i en division med en bredde vil teksten automatisk blive rykket ned på næste linje når bredden er nået. Så jeg kan ikke se hvor problematikken ligger.

Skrevet tor. d. 20. oktober 2011 kl. 01:36:50| #6

olebole
olebole (214.613 point)
@danco: Det er fordi, du tager fejl. Det er ikke et CSS problem  =)

Hvis du har en fast bredde på et element, og du fylder et ord på 8000 tegn ind i elementet, er der ikke noget, der rykker ned på næste linje.

Skrevet tor. d. 20. oktober 2011 kl. 09:03:14| #7

danco
danco (11.278 point)
Argh , jeg undskylder, jeg fik vidst lige læst lidt for hurtigt.
Jeg havde ikke lige fanget den lille detalje at det var ét ord på 8000 tegn.

Skrevet tor. d. 20. oktober 2011 kl. 16:57:22| #8

hobbittend
hobbittend (6.300 point)
Den kode du skrev Olebole virker desværre ikke....
Den returnerer ikke noget...

Hvad kan det skyldes?

Skrevet tor. d. 20. oktober 2011 kl. 18:37:06| #9

splazz
splazz (57.138 point)
majbom.com
den skal jo heller ikke returnere noget, eller det har ole i hvert fald ikke skrevet.

der hvor der står "// Afbryd indsættelse", skal du smide noget kode ind der sørger for at indlægget ikke bliver gemt...

Skrevet tor. d. 20. oktober 2011 kl. 19:00:35| #10

hobbittend
hobbittend (6.300 point)
nej nej...
Det har jeg selvfølgelig også gjort :) og har også ændret "$str" til den variabel jeg vil tjekke...

Skrevet tor. d. 20. oktober 2011 kl. 19:23:49| #11

olebole
olebole (214.613 point)
Jamen, så virker den vel også?  =)

Skrevet tor. d. 20. oktober 2011 kl. 19:28:35| #12

olebole
olebole (214.613 point)
Dette funker i hvertfald helt fint - prøv det selv i et tomt dokument:


<?php
$str = 'blabla bla bla blabla blaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa bla bla';
$arr = explode(" ", $str);
for ($i=0,$j=count($arr); $i<$j; $i++) {
    if (strlen($arr[$i])>=50) {
        print "Afbryd indsættelse p.gr.a. dette ord:<br>\r\n".$arr[$i];
        break;
    }
}
?>



Skrevet fre. d. 21. oktober 2011 kl. 23:01:19| #13

hobbittend
hobbittend (6.300 point)
Det virkede pludselig alligevel...
Ved ikke hvad der gik galt :S

Tak for hjælpen Ole...

Smid lige et svar =)

Skrevet fre. d. 21. oktober 2011 kl. 23:18:59| #14

olebole
olebole (214.613 point)
Ellers tak, jeg samler ikke points. Spørg evt. andre, der kan være aktuelle - og ellers lægger du bare et svar selv og accepterer  =)

Skrevet lør. d. 22. oktober 2011 kl. 17:06:28| #15


Skrevet lør. d. 22. oktober 2011 kl. 18:29:55| #16

hobbittend
hobbittend (6.300 point)
jeg tager dem selv =)

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Brugerliste med link til profil

Oprettet den 26. maj 2012 kl. 14.29
sayn giver 30 point for svar | Giv et svar »

php curl driller

Oprettet den 26. maj 2012 kl. 08.31
PHPnQrd giver 200 point for svar | Giv et svar »

Array i array

Oprettet den 25. maj 2012 kl. 08.32
sebster giver 60 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger