Avatar billede webstuff Nybegynder
22. november 2005 - 09:34 Der er 21 kommentarer og
1 løsning

Bryde linje efter x antal tegn

Hejsa

Jeg har en gæstebog, og den virker fint nok bortset fra at hvis man ikke selv laver et linjeskift, så kommer det hele til at stå på en streg..
Hviken funktion skal bruges til at lave linjeskift efter x antal px eller tegn??

Mvh. Andreas

Min gem.php ser sådan her ud:

<?php
include "config.php";
$navn = $_POST[navn];
$navn = strip_tags($navn);
$navn = nl2br($navn);

$email = $_POST[email];
$email = strip_tags($email);
$email = nl2br($email);

$besked = $_POST[besked];
$besked = strip_tags($besked);
$besked = nl2br($besked);

$dato_array = getdate();
$dato = $dato_array["mday"] . "/" . $dato_array["mon"] . "-" . $dato_array["year"];

if(empty($navn) || empty($besked)) {
  echo "<font color=\"red\">Du skal mindst udfylde navn og besked.";
  echo "<br>";
  echo "<a href=\"gb.php\">Prøv igen</a></font>";
} else {

//indsætter i db
mysql_query("insert into min_gb (navn, email, dato, besked)values('$navn', '$email', '$dato', '$besked')");
header("location: tagwall.php");
}
?>
Avatar billede jakobdo Ekspert
22. november 2005 - 09:36 #1
Prøv at kig på: wordwrap()
Avatar billede dmdisco Nybegynder
22. november 2005 - 09:42 #2
Avatar billede webstuff Nybegynder
22. november 2005 - 09:42 #3
jeg har prøvet.. men har ikke rigtigt kunnet få den til at virke. :-(
Hvordan ville du bruge den?
Avatar billede webstuff Nybegynder
22. november 2005 - 09:44 #4
$besked = $POST["besked"];
$gem_besked = wordwrap($besked, 20, "<br />\n");

Er det sådan der?
Jeg prøver lige!!
Avatar billede webstuff Nybegynder
22. november 2005 - 09:45 #5
Det virker ikke!
Avatar billede dmdisco Nybegynder
22. november 2005 - 10:09 #6
$besked = $_POST[besked];
$besked = strip_tags($besked);
$besked = wordwrap($besked, 20, "\n");
$besked = nl2br($besked);
Avatar billede jakobdo Ekspert
22. november 2005 - 10:14 #7
Se et eksempel som dette:
<?php
//http://exp.dk/spm/666388
$text = "The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 20, "<br />\n");

echo $newtext;
?>

Så hvad bruger du som newlines i din database?
Avatar billede jakobdo Ekspert
22. november 2005 - 10:17 #8
Hvor viser du beskeden senere?
Du bør jo først smide det igennem wordwrap når du vil vise det på din side.
Avatar billede webstuff Nybegynder
22. november 2005 - 10:31 #9
Jeg viser den her:

<?//Henter informationer fra db
$resultat = mysql_query("select * from min_gb order by id DESC");

//Udskriver hentet information
while ($vis = mysql_fetch_array($resultat)) {
echo "<table bgcolor=\"#e1e1e1\">";
echo "<tr>";
echo "<td width=\"300\" bgcolor=\"#728CAD\">";
echo "<b>Navn:</b> ".$vis['navn']. "<br>";
echo "<b>Email:</b> <a href=\"mailto:".$vis['email']. "\">".$vis['email']. "</a><br>";
echo "<b>Dato:</b> ".$vis['dato']. "";
echo "</td>";
echo "</tr><tr><td height=\"50\" valign=\"top\"><font color=\"$msgtext\">".$vis['besked']. "</font>";
echo "</td></tr></table><br>";
}
?>

Skal den have wordwrap her først?
Avatar billede jakobdo Ekspert
22. november 2005 - 10:45 #10
wordwrap($vis['besked'],20,"<br />\n");
Avatar billede webstuff Nybegynder
22. november 2005 - 10:59 #11
i den her linje:

echo "</tr><tr><td height=\"50\" valign=\"top\"><font color=\"$msgtext\"> wordwrap(".$vis['besked']. ",20,"<br>\n") </font>";

får jeg denne fejlbesked:

Parse error: parse error, unexpected '>' in /srv/www/htdocs/web1423/html/tagwall.php on line 59
Avatar billede webstuff Nybegynder
22. november 2005 - 11:04 #12
Jeg har fået det til at virke nu..
Men den deler stadig ikke ordet op hvis det er et meget langt sammenhængende ord..
Avatar billede jakobdo Ekspert
22. november 2005 - 11:05 #13
Det skal være:
echo "</tr><tr><td height=\"50\" valign=\"top\"><font color=\"$msgtext\">".wordwrap($vis['besked'],20,"<br>\n")."</font>";
Avatar billede jakobdo Ekspert
22. november 2005 - 11:06 #14
Så skal du bruge:
<?php
$text = "A very long woooooooooooord.";
$newtext = wordwrap($text, 8, "\n", 1);
echo "$newtext\n";
?>
Altså: wordwrap($vis['besked'],20,"<br>\n",1)
Avatar billede webstuff Nybegynder
22. november 2005 - 11:08 #15
www.webstuff.dk - der er et eller andet der ikke funker!! :-(
Avatar billede webstuff Nybegynder
22. november 2005 - 11:09 #16
her er koden:


while ($vis = mysql_fetch_array($resultat)) {
echo "<table bgcolor=\"#e1e1e1\">";
echo "<tr>";
echo "<td width=\"300\" bgcolor=\"#728CAD\">";
echo "<b>Navn:</b> ".$vis['navn']. "<br>";
echo "<b>Email:</b> <a href=\"mailto:".$vis['email']. "\">".$vis['email']. "</a><br>";
echo "<b>Dato:</b> ".$vis['dato']. "";
echo "</td>";
echo "</tr><tr><td height=\"50\" valign=\"top\"><font color=\"$msgtext\">";
echo wordwrap($vis['besked'],400,"<br>\n",1);
echo "</font>";
echo "</td></tr></table><br>";
}
?>
Avatar billede jakobdo Ekspert
22. november 2005 - 11:12 #17
Du har jo ordlængde 400??
Avatar billede webstuff Nybegynder
22. november 2005 - 11:14 #18
Ja det var så en brændert "#!Fløjt, fløjt!#"
Lægger du et svar? hehe
Avatar billede jakobdo Ekspert
22. november 2005 - 11:16 #19
Svar!
Avatar billede webstuff Nybegynder
22. november 2005 - 11:19 #20
Tak for hjælpen!! :-D
Avatar billede jakobdo Ekspert
22. november 2005 - 11:21 #21
Takker for point! :o)
Avatar billede webstuff Nybegynder
22. november 2005 - 11:23 #22
:D
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