webForumDet fria alternativet
Logga in / Bli medlem

document.write() och radbrytning

JavaScript

0 svar · 285 visningar · startad av Pedda

Medlem sedan juni 20006 031 inlägg
Frågan#1

Jag hämtar en text från databasen och om texten innehåller en radbrytning så visas inget.
Vad ska man göra för att det ska funka? Eller är det omöjligt att köra document.write på en text med radbrytning?

Kör med php men ni förstår nog koden ändå.
För er som inte kan php så kan jag berätta att nl2br() gör så att radbrytningar ifrån databasen blir till <br /> men jag har testat även utan det.

<?php 
include('conn.php');

if (isset($_GET['n']) AND preg_match("/^[0-9]+$/", $_GET['n'])) {
	$gbId = $_GET['n'];
	
	// Hämta senaste inlägget
	$result = mysql_query("SELECT meddelande FROM ".$prefix."messages WHERE ref_gbookId=$gbId AND privat != 1 ORDER BY m_id DESC LIMIT 1");
	$mess = mysql_fetch_assoc($result) or die ("document.write(\"Errorkod: 1066. Meddelandet kan inte visas.\";");
	
	$text = nl2br(htmlspecialchars($mess['meddelande'], ENT_QUOTES));
	
	echo "document.write(\"$text\");";
	
} else {
	echo "document.write(\"Errorkod: 1067. Meddelandet kan inte visas!\");";
}
?>

På en annan sida så ska resultatet visas genom koden:

<script language="javascript" src="http://www.mindomän.se/e_mess.php?n=1">
254 ms totalt · 4 externa anrop · v20260731065814-full.1b2494f0
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)