D Dr-man Medlem sedan juli 2002 732 inlägg Frågan 3 feb. 2003 08:18 #1 Går det i en textarea, när man trycker ner Enter-knappen, så skulle det motsvara en <br>(radbyte)?
Fuel Medlem sedan okt. 2000 1 285 inlägg Kör detta före du lägger i det i textarean i DB´n .. eller hämtar från DB´n, jag brukar köra det då jag hämtar från Databasen.. då blir det enklare om man ska redigera ett mess via en admindel i en textarea
$text = str_replace ("\n", "<br />", $text);
Matte Medlem sedan aug. 2000 2 975 inlägg
Fuel skrev:
Kör detta före du lägger i det i textarean i DB´n .. eller hämtar från DB´n, jag brukar köra det då jag hämtar från Databasen.. då blir det enklare om man ska redigera ett mess via en admindel i en textarea
$text = str_replace ("\n", "<br />", $text);
Det finns en färdig funktion för det i PHP:
$text = nl2br($text);
R rIkLuNd Medlem sedan feb. 2003 169 inlägg Om du använder dig av detta i t ex en gästbok, och vill också ta bort html-kod från meddelandet, så måste du göra det EFTER att du tagit bort html-koden, så här:
$str = htmlspecialchars($str);
$str = nl2br($str);
Fuel Medlem sedan okt. 2000 1 285 inlägg bra ni är vakna Riklund & Matte.. för det är inte jag.. :x
D Dr-man Medlem sedan juli 2002 732 inlägg Det fungerar fint!
Men ett litet problem är att när jag sedan ändrar texten i textarean så
skapas det i textarean extra radbyten? Vad kan detta bero på?
Vet ej om koden ger nån nytta?
<html>
<body>
<?php
if (isset($submit)){
$link = mysql_connect ("localhost","root");
mysql_select_db("bostad", $link);
if ($texten ==''){
$texten='-';
}
$texten = nl2br($texten);
$query = "update ansokan set texten='$texten' where id='$c'";
mysql_query($query, $link);
echo "Posten ändrad i Övriga tjänster";
}
$link = mysql_connect ("localhost", "root");
mysql_select_db("bostad", $link);
$sweutil = "select * from ansokan where id='$c'";
$sweutil2 = mysql_query($sweutil, $link);
$sweutil3 = mysql_fetch_array($sweutil2);
$texten = nl2br($texten);
?>
<center>
<h2>Ändra i tjänsten</h2><br><br>
<table border='0' cellpadding="5">
<tr>
<form method="post" action="<?php echo $PHP_SELF?>">
<input type="hidden" value="<?php echo $sweutil3["id"]?>" name="c">
<td>
Texten:<br><textarea name="texten" cols="70" rows="10"><?php echo $sweutil3["texten"]?>
</textarea>
</td>
</tr>
<tr>
<td>
<Input type="submit" name="submit" value="Ändra">
</form>
<form action='tjansteradm2.php3' method='get'>
<br />
<Input type='submit' value='Huvudsidan'>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
Matte Medlem sedan aug. 2000 2 975 inlägg Texten:<br><textarea name="texten" cols="70" rows="10"><?php echo str_replace("<br>", "", $sweutil3["texten"]) ?>
</textarea>
D Dr-man Medlem sedan juli 2002 732 inlägg Det hjälpte inte mig något med kodsnutten i det förra inlägget!
Kan nån hjälpa mig att lösa detta?
Matte Medlem sedan aug. 2000 2 975 inlägg Lite korttänkt av mig. Testa det här istället:
[KOD]Texten:<br><textarea name="texten" cols="70" rows="10"><?php echo str_replace("<br />", "", $sweutil3["texten"]) ?>
</textarea>
Marcus E Medlem sedan maj 2002 1 466 inlägg Varför ska du ta bort <br />? Det är bättre att aldrig lägga till det.
Använd nl2br och htmlspecialchars när du ska presentera text utanför textarea och använd bara htmlspecialchars när du ska presentera text innanför.
I databasen ska du lagra den oformaterade texten.