Avatar billede Frederik Nybegynder
25. juli 2009 - 21:54 Der er 14 kommentarer og
1 løsning

PHP - bestemt antal anslag pr. linje.

Hej.

Er det mulig vha. PHP, at angive hvor mange anslag der på være med efterfølgende linjeskift?

evt. lige margen?

- Frederik
Avatar billede kdjweb Nybegynder
25. juli 2009 - 22:32 #1
Avatar billede Frederik Nybegynder
25. juli 2009 - 23:12 #2
Jeg bruger nu funktionen:

<?php
$text = "Tilfældig tekst";
$newtext = wordwrap($text, 100, "<br />\n", "\n");
echo $newtext;
?>

her skiftes der også linje som den skal, men er der mulighed for lige magen.

Ligeledes bliver teksten meget rodet når det er lange tekster (Nærmest "tilfældige" linjeskift). Er der en måde at gøre det mere overskueligt på?

Der er også problemer hvis der skrives " i teksten, da det så vil opfattes som en string. Kan man tillade at skrive "?


- Frederik
Avatar billede kdjweb Nybegynder
25. juli 2009 - 23:41 #3
http://dk2.php.net/manual/en/function.htmlspecialchars.php
eller
http://dk2.php.net/manual/en/function.htmlentities.php

<?php
$text = "Tilfældig tekst";
$newtext = wordwrap(htmlentities($text, ENT_QUOTES), 100, "<br />\n", "\n");
echo $newtext;
?>

Burde virke?
Avatar billede Slettet bruger
26. juli 2009 - 01:39 #4
<style type="text/css">
.ligemargen {text-align:justify;}
</style>

<?php
$text = "Tilfældig tekst";
$newtext = wordwrap(htmlentities($text, ENT_QUOTES), 100, "<br />\n", "\n");
echo "<span class='ligemargen'>" . $newtext . "</span>";
?>
Avatar billede Frederik Nybegynder
26. juli 2009 - 10:59 #5
hmm.. når jeg anvender


<?php
$text = "Tilfældig tekst";
$newtext = wordwrap(htmlentities($text, ENT_QUOTES), 100, "<br />\n", "\n");
echo "<span class='ligemargen'>" . $newtext . "</span>";
?>

Bliver æ, ø og å ikke vist på siden..

Jeg har husket at tilføje charset=UTF-8 og gemt dokumentet som UTF-8.

Hvad gør jeg?


- Frederik
Avatar billede Frederik Nybegynder
26. juli 2009 - 11:10 #6
Linjeskiftene ser dog stadig ikke ret pæne ud (heller ikke med lige margen). Kunne forestille mig, at noget der kunne forbedre dette var hvis et ord ikke kunne stå på linjen blev nødt til at blive delt, og der så automatisk tilføjes en bindestreg ved det delte ord. Er det muligt at lave sådan noget i PHP?


- Frederik
Avatar billede kdjweb Nybegynder
26. juli 2009 - 11:46 #7
Du kunne jo også bare som kimsey0 sagde:

<div style="text-align: justify; width:200px;"><?=$text;?></div>

Så slipper du jo også for alle de bøvlede bindestreger
Avatar billede Frederik Nybegynder
26. juli 2009 - 12:32 #8
Jamen er det muligt, at lave sådan en orddeling?

Er nysgerrig :P
Avatar billede Frederik Nybegynder
26. juli 2009 - 12:37 #9
Og <div style="text-align: justify; width:200px;"><?=$text;?></div> kan jeg ikke få til at lave lige margen. Den deler ikke ordene, og dermed skifter den bare linje hvis et efterfølgende ord kommer til at overskride de 200px. Så der kan opstå linjer på 150px og 190px osv...

Synes det ser lidt "rodet" ud.


- Frederik
Avatar billede Slettet bruger
26. juli 2009 - 13:21 #10
Problemet med det du efterspørger er, at ikke alle skrifttyper er lige store. Når du sender noget tekst til brugeren kan du ikke være sikker på at han bruger den rigtige skrifttype, og at din beregning af hvor bindestregerne skal være passer for ham/hende.
Avatar billede Frederik Nybegynder
26. juli 2009 - 14:08 #11
kan man ikke "tvinge" en bestemt skrifttype ned over teksten?
Avatar billede Slettet bruger
26. juli 2009 - 17:19 #12
Jo, men hvis brugeren ikke har skrifttypen installeret bliver teksten vist med en anden. Du kan lave en liste over skrifttyper, som brugeren begynder at tjekke fra oven. Når den så støder på en skrifttype den har, bruger den den.
Avatar billede kdjweb Nybegynder
26. juli 2009 - 17:29 #13
hejmeddig. <- 10 tegn
morgenmad. <- 10 tegn
er du glad <- 10 tegn

Tekst bliver også behandlet forskelligt i de fleste browsere eks. IE opløser teksten (hvilket er møg irriterende). :P
Avatar billede Frederik Nybegynder
26. juli 2009 - 18:07 #14
#13

Ved at lave lige margen burde dette jo blive udlignet, så alle linjerne går lige langt ud???

Er det ikke muligt at lave det sådan?
Avatar billede Frederik Nybegynder
24. oktober 2009 - 21:11 #15
- lukker
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
Kurser inden for grundlæggende programmering

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