Avatar billede aquix Nybegynder
28. juli 2005 - 00:24 Der er 7 kommentarer og
1 løsning

Hvordan får jeg mit textarea til at understøtte html tags i php?

Hej eksperter.

Jeg har et nyhedssystem, hvor jeg godt vil have, at når jeg laver "enter" linjeskift så vises det også i selve nyheden. Derudover ville det være nizzle, hvis man kunne komme til at skrive f.eks. <b>tekst</b> o.lign...

Men hvordan gør jeg det?
Har hørt nogen snakke om noget nl2br(), men det ved jeg ikk helt hvordan jeg benytter..

Håber I kan hjælpe.. På forhånd tak.
Avatar billede flatov Nybegynder
28. juli 2005 - 00:40 #1
jeg tror du skal have fat i noget htmlentities
http://dk2.php.net/manual/da/function.htmlentities.php

evt lav noget ala det her

$nyheden = stripslashes(nl2br($nyheden]));

Så skulle du meget gerne kunne bruge html tags

ret mig hvis jeg tager fejl, er bare lige umidelbart sådan jeg gør. Bruger bare htmlentities til at gøre så html tagsne ikke virker.
Avatar billede flatov Nybegynder
28. juli 2005 - 00:41 #2
lille fejl

$nyheden = stripslashes(nl2br($nyheden));
Avatar billede aquix Nybegynder
29. juli 2005 - 17:20 #3
hmm, og hvor / hvordan skal jeg indsætte det?
Avatar billede flatov Nybegynder
29. juli 2005 - 18:15 #4
Prøv at skriv den kode du bruger når du skal vise en nyhed
Avatar billede aquix Nybegynder
29. juli 2005 - 18:29 #5
****gem.php****

<?php
$submit = $_POST["submit"];
if($submit == $submit){
$overskrift = $_POST["overskrift"];
$skribent = $_POST["skribent"];
$nyhed = $_POST["nyhed"];
include("db.php");
mysql_connect($host,$user,$pass);
mysql_select_db($db);
mysql_query("UPDATE nyheder SET overskrift='$overskrift',skribent='$skribent',nyhed='$nyhed' where id = '$_GET[id]'") or die(mysql_error());
}
?>
<?php
$result = mysql_query("SELECT * FROM nyheder ORDER BY id DESC") or die(mysql_error());
$antal= mysql_num_rows($result);
if($antal == 0) {
print "Der er ingen nyheder i databasen";
    } else {
    while ($row = mysql_fetch_array($result)){
$date = date("l d. F Y @ H:i", $row["dato"]);
echo"
<form action='edit_news.php?id=$row[id]' name='retnews' method='post'>
<table align='center' cellpadding='0' cellspacing='0' style='border: 1px solid black'>
<tr> 
    <td align='left' style='border-bottom: 1px solid black' width='267'>&nbsp;
<input type='text' name='overskrift' value=$row[overskrift]>
by
<input type='text' name='skribent' value=$row[skribent]></td>
</tr>
<tr>   
    <td align='left' style='border-bottom: 1px solid black' width='214' colspan=3>$date</td>
</tr>
<tr>
    <td colspan=3 align=center><textarea rows='10' cols='40' name='nyhed'>$row[nyhed]</textarea></td>
</tr>
</table>
<input type='submit' name='submit' value='Edit'></form>
<br>
";
}
}
?>


****skriv.php****

<form method="post" action="gem.php">
<font face="verdana" size="1" color="858585">Overskrift:</font>
<br>
<input size="41" style="color:#858585; font-size: 10px; font-family: verdana; background-color: #FFFFFF; border: 1px solid #EBAB46"; name="overskrift">
<br>
<font face="verdana" size="1" color="858585">Skribent:</font>
<br>
<input size="41" style="color:#858585; font-size: 10px; font-family: verdana; background-color: #FFFFFF; border: 1px solid #EBAB46"; name="skribent">
<br>
<font face="verdana" size="1" color="858585">Nyhed:</font>
<br>
<textarea rows="10" cols="40" style="color:#858585; font-size: 10px; font-family: verdana; background-color: #FFFFFF; border: 1px solid #EBAB46"; name="nyhed"></textarea>
<br>
<input size="15" style="color:#858585; font-size: 10px; font-family: verdana; background-color: #FFFFFF; border: 1px solid #EBAB46"; type="submit" name="Submit" value="Opret Nyhed">

<input size="15" style="color:#858585; font-size: 10px; font-family: verdana; background-color: #FFFFFF; border: 1px solid #EBAB46"; type="reset" name="reset" value="Reset">
</form>


**** index.php **** (viser nyhederne)

<html>
<head>
<title>aquix newssystem!</title>

<link rel="stylesheet" type="text/css" href="style.css">

</head>


<body text="#858585" bgcolor="#FFFFFF" leftmargin="1" topmargin="0">
<font face='verdana' size='3' color='orange'>News</font><font face="Verdana" size="1">
<br><br>
<?php
$connection = mysql_connect("","","");
mysql_select_db("", $connection);

$query = mysql_query("SELECT * FROM nyheder ORDER BY id DESC");
while($row = mysql_fetch_array($query)) {

$overskrift = "$row[overskrift]";
$nyhed = "$row[nyhed]";

echo"
<table width='392' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td><b><font face='verdana' size='2' color='#858585'>»$row[overskrift]</font></b></td>
<tr>
</table>

<table class='tekstafsnit' width='392' style='background-color: #FFFFFF; border: 1px solid #EBAB46'; cellspacing='0' cellpadding='0'>
<tr>
    <td><font face='verdana' size='1' color='#858585'>$row[nyhed]</font></td>
</tr>
<tr>
    <td height='10'></td>
</tR>
<tr>
    <td align='right'><i><font face='verdana' size='1' color='#858585'>Skrevet af: $row[skribent] - d. $row[dato]</font></i></td>
</tr>
</table>
<br><br>
";
}
php?>
</body>
</html>


**** gem.php ****

<?
$connection = mysql_connect("","","");
mysql_select_db("", $connection);

$dato = date('d/m/Y - H:i:s');
mysql_query("INSERT INTO nyheder (overskrift, skribent, dato, nyhed) VALUES ('$_POST[overskrift]', '$_POST[skribent]', '$dato', '$_POST[nyhed]')") OR DIE (mysql_error());
mysql_close;
header("Location: index.php");
?>
Avatar billede flatov Nybegynder
29. juli 2005 - 18:35 #6
i gem.php skal du nok lige ændre

$nyhed = $_POST["nyhed"]; til $nyhed = addslashes($_POST["nyhed"]);

bare lige noget der gør så din database ikke laver fejl hvis du fx laver " eller '...

i index.php

skal du prøve at ændre $nyhed = "$row[nyhed]"; til $nyhed = stripslashes(nl2br('$row[nyhed]'));

Det burde virke, med mindre jeg har fået lavet en syntaxfejl.

Prøv det
Avatar billede aquix Nybegynder
30. juli 2005 - 00:43 #7
Ja nu virker html tags! Dog virker linjeskift ikke... Men mange tak!
Avatar billede aquix Nybegynder
28. juli 2007 - 06:10 #8
...
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