Zoals de titel zegt, hoe kan ik:
Een <ENTER> laten omzetten tot een: <br />?

Ik heb nu deze string:
$bericht = eregi_replace("\r\n|\r|\n","\r\n<br />\r\n",$bericht);+

Maar die werkt niet.... In de zin van: als je een enter typt, er nog geen enter komt bij het bekijken.

Mijn script is dit:

<head>
<title>OSM Fan</title>
<link rel="stylesheet" href="../stijl8.css" type="text/css" media="screen">
<style type="text/css">
input.submit{ 
background: url('../images/registreren_but.gif') no-repeat;
width: 69px; 
height: 21px;
}
</style>
</head>

<body>
<div id="wrapper">

<div id="header"><img src="../images/osmf_logo.gif"</div>

<div id="menu">
<ul>
<li><a href="../forum">Forum</a></li>
<li><a href="../priveberichten.php">Privé berichten</a></li>
<li><a href="../inloggen.php">Inloggen</a></li>
<li><a href="http://www.pepijnstrips.nl/osm/osm/forum/?uitloggen">Uitloggen</a></li>
</ul>
</div>
<font face="Arial">
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
   if(isset($_POST['toevoegen'])){
      if(trim($_POST['topic']) == ""){
          echo 'Je bent de topic titel vergeten';
      }elseif(trim($_POST['bericht']) == ""){
          echo 'Je bent het bericht vergeten';
      }else{
          session_start();
          include('verbind.php'); 
          $topic = trim($_POST['topic']);
          $topic = wordwrap($topic, 100, "\n", true); 
          $topic = mysql_real_escape_string($topic);
          $topic = htmlentities($topic);
          $bericht = trim($_POST['bericht']);
          $bericht = wordwrap($bericht, 100, "\n", true); 
          $bericht = mysql_real_escape_string($bericht);
          $bericht = htmlentities($bericht);
	  $bericht = eregi_replace("\r\n|\r|\n","\r\n<br />\r\n",$bericht);
          $sqlcode = "INSERT INTO topic 
               (topic_titel, topic_bericht, gebruiker_id, topic_datumtijd)
                VALUES
    ('".$topic."','".$bericht."','".$_SESSION['gebruiker_id']."',now())";
          // now() gebruiken we om de huidige tijd en datum te gebruiken
          $resultaat = mysql_query($sqlcode)or die(mysql_error());
               if($resultaat){
     echo "Toevoegen Gelukt!!<BR>";
     echo "<a href='index.php'>Topic Overzicht</a>";
    }else{
     echo "Toevoegen Mislukt";
    }
        }
  }else{
   echo 'Deze actie is niet toegestaan keer <a href="?pagina=forum_overzicht">terug</a> naar het forum.';
  }
}else{
  echo 'Deze actie is niet toegestaan keer <a href="?pagina=forum_overzicht">terug</a> naar het forum.';
}
?>
<div id="footer">
&copy; 2009 Gamebasics - Opdracht door: Lars Groot - mail: [email protected]
</div>

</div>
<textarea style="width:1px;height:1px;background-color:#F5FFD8;border-left-style:none;border-right-style:none;border-top-style:none;border-bottom-style:none;" rows="1" cols="1">
<%
connect.close
set connect = nothing
forum.close
set forum = nothing
end sub
%>
</body>
</html>


Bedankt voor het kijken en helpen

Lars
(Ik heb het op internet ook gevonden, maar dat is deze dus en die begrijp ik niet....)
[php]nl2br[/php]() ?

Edit

Waarom gebruik jij ASP tags?
Nee de \r\n of \r of \n duw je zonder nl2br() de database in. Bij het ophalen haal je pas nl2br() erover heen!!
@Lars,

Voor zover ik mij kan herinneren is een enter in een <textarea> niet meer dan een \n alleen..

dus $bericht=eregi_replace("\n", "<br />", $bericht);

Maar kan 't fout hebben..

En wat ook een handige optie is is wat Warchief al aangeeft nl2br.
Grts. René

Okay, dan haal ik nl2br even over de output, en dan vervang ik mijn regel door:
$bericht=eregi_replace("\n", "<br />", $bericht);

M.v.g

Larsisgoed9
eregi kan je beter de prullenbak in doen, gebruik de preg_ functies

of nog beter voor de simpele zaken de str_ functie

php heeft ooit aangekondigd de eregi te laten voor wat het was en uit te faseren. Wanneer ze er uiteindelijk aan toekomen, dat moet je mij niet vragen.
René schreef op 03.04.2009 18:11
@Lars,

Voor zover ik mij kan herinneren is een enter in een <textarea> niet meer dan een \n alleen..

dus $bericht=eregi_replace("\n", "<br />", $bericht);

Maar kan 't fout hebben..

En wat ook een handige optie is is wat Warchief al aangeeft nl2br.
Grts. René



Dat is absoluut NIET het geval!! Op Windows heb je iets totaal anders dan op Linux. Het is dan iets in de vorm van \n\r, \n of \r. Ga nou niet zitten klooien met deze dingen en gebruik gewoon:

PHP_EOL!!!
GaMer13 schreef op 03.04.2009 19:29
[quote='René schreef op 03.04.2009 18:11']@Lars,

Voor zover ik mij kan herinneren is een enter in een <textarea> niet meer dan een \n alleen..

dus $bericht=eregi_replace("\n", "<br />", $bericht);

Maar kan 't fout hebben..

En wat ook een handige optie is is wat Warchief al aangeeft nl2br.
Grts. René



Dat is absoluut NIET het geval!! Op Windows heb je iets totaal anders dan op Linux. Het is dan iets in de vorm van \n\r, \n of \r. Ga nou niet zitten klooien met deze dingen en gebruik gewoon:

PHP_EOL!!![/quote]

PHP_EOL pakt de systeem standaard van de server, stel je hebt een linux bak en tekst van een windows gebruiker, dan kom je niet ver.
Tommy schreef op 03.04.2009 19:36
PHP_EOL pakt de systeem standaard van de server, stel je hebt een linux bak en tekst van een windows gebruiker, dan kom je niet ver.

Heeft niets met elkaar te maken. Het wordt allemaal door dezelfde server afgehandeld.
Tommy schreef op 03.04.2009 19:36
PHP_EOL pakt de systeem standaard van de server, stel je hebt een linux bak en tekst van een windows gebruiker, dan kom je niet ver.


Ik wil niet veel zeggen hoor, maar PHP_EOL is universeel. Het heft juist het gekloot tussen de verschillende platformen op. "Cross-platform-compatible".
Goeie morgen,

Eugh, ben effe wezen snaaien, maar de ENTER in een <textarea> bevat "\r\n" terwijl PHP_EOL alleen maar "\n" bevat.

Dus als je de ENTERS wilt vervangen voor -enter- dan moet je toch $text=ereg_replace("\r\n","-enter-",$text) doen.

$text="Regel 1\r\nRegel 2\r\nRegel 3\r\n";

$text1=ereg_replace("\r\n","-enter-",$text)
$text1 wordt dan "Regel 1-enter-Regel 2-enter-Regel 3-enter-"

$text2=ereg_replace(PHP_EOL,"-enter-",$text)
$text2 wordt dan "Regel 1\r-enter-Regel 2\r-enter-Regel 3\r-enter-"

Met andere woorden als je in dit geval PHP_EOL gebruikt blijft "\r" wel hangen.

Grts.
René

Reageren