voor de enter kan je dit doen
<?
$bericht = 'de tekst die in de db/ bestand staat';
$bericht = str_replace("{{","<br>",$bericht);
echo $bericht; // nu worden {{ omgezet naar <br>
?>
Link gekopieerd
Ja ok, maar dat lijkt me meer een gevolg aanpakken. Ik hoop dat er iemand is die de oorzaak weet van deze rare tekens en deze kan aanpakken.
Link gekopieerd
wil je dan ff het script hiet posten anders kunnen wij nog niks
Link gekopieerd
<?
$amount=50;
if ($_GET['action']=='write') {
$file=fopen('gastenboek.txt','a');
$message=str_replace("\r",'',$message);
$message=str_replace("\n",'{{',$_GET['message']);
fwrite($file,$message."\n");
fclose($file);
header('location: gastenboek.php?action=read&start=0');
}
$start=(isset($_GET['start'])?$_GET['start']:0);
$gastenboek=Array();
$gastenboek=file('gastenboek.txt');
?>
<style>
#message{
width: 100%;
height: 100px;
font-family: Arial;
overflow: auto;
}
TD, textarea {
font-family:Arial;
font-size: 1em;
}
</style>
<HTML>
<HEAD>
<TITLE>Gastenboek</TITLE>
<!--
Gebruik de volgende script tag als je het SUR-script van CoR.nl wilt gebruiken
<SCRIPT language="JavaScript" src="sur.js" type="text/javascript"></SCRIPT>
Verwijder dan ook de twee slashes (//) in de onLoad van de BODY-tag
-->
<SCRIPT language="JavaScript">
function validate(form) {
if (form.name.value=="") {
alert("Vul je naam in");
return false;
} else if (form.message.value=="") {
alert("Vul je bericht in");
document.getElementById('message').focus();
return false;
}
}
</SCRIPT>
</HEAD>
<body onload="document.getElementById('message').focus()" topmargin="40" background="/images/backgrnd1.gif" leftmargin="20" topmargin="40">
<center>
<TABLE width="100%" cellspacing="0" cellpadding="0">
<tr><td align="center"><INPUT TYPE=button VALUE="Button"
onClick="location.href='index.htm'" style="font-family: Arial" title="Go to the main page">
</td></tr>
</TABLE>
<img border="0" src="images/spacer.gif" width="1" height="25">
<TABLE width="748" style="border-style:solid; border-width:1; border-collapse: collapse" cellpadding="20" cellspacing="0" id="AutoNumber1" bordercolor="#000000" bgcolor="#FFFFFF">
<TR><TD class="conttd">
<FORM action="gastenboek.php" method="GET" onSubmit="return validate(this);">
<INPUT type="hidden" name="action" value="write">
<TEXTAREA name="message" id="message" cols="85" rows="5" style="border-collapse: collapse; border: 0px solid #000000;"></TEXTAREA></TD></TR>
<tr><td align="right"><INPUT type="submit" style="font-family: Arial" size="3" value="Verstuur" title="Klik hier om je bericht te plaatsten"></TD></TR>
</FORM>
</TD></TR>
</TABLE>
<img border="0" src="images/spacer.gif" width="1" height="20">
<TABLE width="100" cellspacing="0" cellpadding="0">
<tr><td><img border="0" src="images/spacer.gif" width="1" height="20"></td></tr>
<tr>
<td style="border-style:solid; border-width:1; border-collapse: collapse" bordercolor="#000000" bgcolor="#FFFFFF">
<CENTER>
<?
if ($start>0) echo '<A href="gastenboek.php?start='.max(0,$start-$amount).'"style="text-decoration: none"><</A> ';
if ($start+$amount<sizeof($gastenboek)) echo ' <A href="gastenboek.php?start='.($start+$amount).'"style="text-decoration: none">></A>';
?>
</CENTER>
</TD>
</TR>
</TABLE>
<img border="0" src="images/spacer.gif" width="1" height="20">
<TABLE width="748" cellspacing="0" cellpadding="20" style="border-style:solid; border-width:1; border-collapse: collapse" bordercolor="#000000" bgcolor="#FFFFFF">
<tr>
<td>
<TABLE BORDER= "0" cellspacing="0" cellpadding="0" style="font-family:Arial;" "border-style:none border-collapse: collapse" bgcolor="#FFFFFF">
<tr>
<td>
<?
$gastenboek=array_reverse($gastenboek);
for ($i=$start;$i<$start+$amount && $i<sizeof($gastenboek);$i++) {
list($name,$email,$date,$url,$message)=explode('|||',$gastenboek[$i]);
$message=str_replace('{{',"\n",$message);
echo '<TR><TD>'.($email!=""?'<A href="mailto:'.$email.'">'.$name.'</A>':$name).'</B></TD><TD align="right"></B> </FONT> '.$date.'</B></P></TD></TR>'."\n";
echo ($url!=""?'<TR><TD colspan="2"><A href="'.$url.'" target="_blank">'.$url.'</A></TD></TR>':'')."\n";
echo '<TR><TD colspan="2"><SPAN class="SUR">'.str_replace("\n",'<BR>' ,htmlspecialchars($message)).'</SPAN></TD></TR>'."\n";
echo '<TR><TD colspan="2"><HR></TD></TR>'."\n";
}
?>
</td>
</tr>
</TABLE>
</td>
</tr>
</TABLE>
<TABLE width="100" cellspacing="0" cellpadding="0">
<tr><td><img border="0" src="images/spacer.gif" width="1" height="20"></td></tr>
<tr>
<td style="border-style:solid; border-width:1; border-collapse: collapse" bordercolor="#000000" bgcolor="#FFFFFF">
<CENTER>
<?
if ($start>0) echo '<A href="gastenboek.php?start='.max(0,$start-$amount).'"style="text-decoration: none"><</A> ';
if ($start+$amount<sizeof($gastenboek)) echo ' <A href="gastenboek.php?start='.($start+$amount).'"style="text-decoration: none">></A>';
?>
</CENTER>
</TD>
</TR>
</TABLE>
<img border="0" src="images/spacer.gif" width="1" height="40">
<TABLE width="100%" cellspacing="0" cellpadding="0">
<tr>
<td align="center"><INPUT TYPE=button VALUE="Button"
onClick="location.href='index.htm'" style="font-family: Arial" title="Go to the main page">
</td>
</tr>
</TABLE>
<img border="0" src="images/spacer.gif" width="1" height="25">
</center>
</BODY>
</HTML>
Link gekopieerd
$message=str_replace("\n",'{{',$_GET['message']);
dit is het probleem
wat je daar doet is : vervang alle \n (enter) voor {{
dus het klopt wel dat er alemaal {{ in je script staat en wat betreft "//" dat komt door htmlspecialchars
Link gekopieerd
M
Martijn B
21-06-2005 19:06
gewijzigd op 21-06-2005 19:14
Zoek:
<?php
$message=str_replace("\r",'',$message);
$message=str_replace("\n",'{{',$_GET['message']);
?>
en vervang door:
<?php
$message = str_replace(array("\r\n","\r","\n"), '<br />', $_GET['message']);
?>
Alle soorten enters worden nu vervangen door een html enter.
Link gekopieerd
D
Daan
21-06-2005 20:22
gewijzigd op 21-06-2005 21:02
Martijn bedankt, zo te zien geen rara Enter tekens meer. Heb net ontdekt dat je ook de hele regel weg kunt laten. Of had het een functie?
Dat van die htmlspecialchars, probleem met aanhalingstekens (hij zet dan een / voor de "), kan dat verholpen worden?
Link gekopieerd
?
Onbekende gebruiker
21-06-2005 21:51
stripslashes();
Die haalt de \ weg (niet de / :P), bij " en ' en etc..
Link gekopieerd