Archief - PHP: Witregel in nieuwspost

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

ozl

Legacy Member
Hey,

Ik heb een simpel CMS op een site geplaatst maar als je in het tekstvak (bij nieuws toevoegen) een witregel laat dan verdwijnt deze wanneer je het nieuws post (op de hoofdpagina). Ik zou dus willen dat de witregel blijft. Hoe kan ik dit oplossen?

(Alles wordt dus gewoon aan elkaar geplakt.)

CyXo

Legacy Member
Dit is geleend van de forum UBB codes, vooral makkelijk om het versnellen van je nieuwsopmaak:

Eerst define je:

PHP:
$INFO['UBBcodes']   = TRUE; // UBB Codes AAN/UIT?

Dan kan je makkelijk in je admin alles snel replacen mbv deze UBB codes dmv deze functie:

PHP:
        function UBB_Codes ($bericht) {

              global $INFO;
	
           if ($INFO['UBBcodes'] == TRUE) {
		
            $bericht = eregi_replace("(^|[>[:space:]\n])([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])([<[:space:]\n]|$)","\\1<a href=\"\\2://\\3\\4\" target=\"_blank\">\\2://\\3\\4</a>\\5",$bericht);
            $bericht = eregi_replace("\\[url\\]www.([^\\[]*)\\[/url\\]", "<a href=\"http://www.\\1\" target=_blank>\\1</a>",$bericht);
            $bericht = eregi_replace("\\[url\\]([^\\[]*)\\[/url\\]",'<a href=\"\\1\" target=_blank>\\1</a>',$bericht);
            $bericht = eregi_replace("\\[email\\]([^\\[]*)\\[/email\\]", "<a href=\"mailto:\\1\">\\1</a>",$bericht);
		
            $preg = array(
            "/\[url\](.+?)\[\/url\]/ie",
            "/\[h1\](.*?)\[\/h1\]/si",
            "/\[h2\](.*?)\[\/h2\]/si",
            "/\[h3\](.*?)\[\/h3\]/si",
            "/\[h4\](.*?)\[\/h4\]/si",
            "/\[h5\](.*?)\[\/h5\]/si",
            "/\[b\](.*?)\[\/b\]/si",
            "/\[u\](.*?)\[\/u\]/si",
            "/\[i\](.*?)\[\/i\]/si",
            "/\[sub\](.*?)\[\/sub\]/si",
            "/\[sup\](.*?)\[\/sup\]/si",
            );
            
            $preg_ = array(
            'make_atag("\1",1)',
            "<h1>\\1</h1>",
            "<h2>\\1</h2>",
            "<h3>\\1</h3>",
            "<h4>\\1</h4>",
            "<h5>\\1</h5>",
            "<b>\\1</b>",
            "<u>\\1</u>",
            "<i>\\1</i>",
            "<sub>\\1</sub>",
            "<sup>\\1</sup>",
            );
            
            $bericht = preg_replace($preg,$preg_,$bericht);
            
           }
	
              return $bericht;
	
        }

Cyberkef

Legacy Member
door je nieuwsstring door de functie nl2br($string) te halen alvoor je het echo'ed, maakt hij van je linebreaks <br>'s, waardoor je je witregels tevoorschijn kan toveren :)

ozl

Legacy Member
Bedankt voor de snelle reacties. Dat met die UBB codes lijkt me interessanter omdat ik dan vanalles kan toevoegen (vetgedrukt, scheef, ...) maar omdat ik nogal nieuw met PHP ben weet ik niet hoe ik dit in mijn schriptje invoeg.

Dit is de code van 'addnews.php':

PHP:
<?php include("password.php"); ?>
<?php
if (isset($_POST['submitted'])) {
include ('mysql_connect.php');
if (empty($_POST['title'])) {
echo '<p><font color="red">You need to enter a title.</font></p>';
} else {
$title = $_POST['title'];
}
 
if (empty($_POST['name'])) {
echo '<p><font color="red">You need to enter a name.</font></p>';
} else {
$name = $_POST['name'];
}
 
if (empty($_POST['message'])) {
echo '<p><font color="red">You need to enter a message.</font></p>';
} else {
$message = $_POST['message'];
}
 
if ($title && $name && $message) {
$query = "INSERT INTO news_posts (title, author, post, date) VALUES ('$title', '$name', '$message', NOW())";
$result = @mysql_query($query);
 
if ($result) {
echo '<p><font color="red">News was added!</font></p>';
} else {
echo '<font color="red"><p>News could not be added! Please try again.</p></font>';
}
} else {
echo '<p><font color="red">Please fill in the appropriate information</font></p>';
}
}
?>
<html>
<head>
<script language="javascript"> function goBack() { window.back(); } </script>
</head>
</html>
<STYLE type=text/css>
A {
COLOR: #000000; FONT: 10pt Verdana; TEXT-DECORATION: none
}
A:hover {
COLOR: #000000; text-decoration: underline
}
</STYLE>
<style type="text/css">
<!--
.style2 {font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif;}
-->
</style>

  <table border="0" cellpadding="0" cellspacing="1" width="200">
    <tr>
      <td>
      <a href="news_manage.php">Beheer nieuws</a><br>
	  <a href="http://spanje.smi-6ewi.be/" target="_top">Terug naar de site</a></span><br>
	  <a href="password.php?logout=1" target="_top">Logout</a><br>
	  <br>
	  <a href=javascript:void(0); onClick="goBack()">&laquo; Terug</a><br>
      <br>
      </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>
       <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
        <p><span class="style2">Titel nieuwsbericht :</span><br />
        <input type="input" name="title" size="25" maxlength="60" value="<?php if(isset($_POST['title'])) echo $_POST['title']; ?>" /></p>
 
        <p><span class="style2">Naam</span><b> :</b><br />
        <input type="input" name="name" size="15" maxlength="35" value="<?php if(isset($_POST['name'])) echo $_POST['name']; ?>" /></p>
 
        <p><span class="style2">Bericht</span><b> :</b><br />
        <textarea rows="7" cols="55" name="message"><?php if(isset($_POST['message'])) echo $_POST['message']; ?></textarea></p>
 
        <p><input type="submit" name="submit" value="Voeg toe" /></p>
        <input type="hidden" name="submitted" value="TRUE" /></p>
       </form>
      </td>
    </tr>
  </table>

koebeest

Legacy Member
coebeest coebeest, de enige echte koebeest ben ik jong. :p die UBB gaat u nie verderhelpen met uw regels zen. Da van cyberkef is de goeie oplossing.

ozl

Legacy Member
LoL, een naamgenoot. Ik wist niet dat hier nog een koebeest zat (weliswaar andere schrijfwijze). Maar voor dat van cyberkef hetzelfde probleem. Hoe voeg ik dat in mijn code toe?

Cyberkef

Legacy Member
Niet in je addnews.php, maar je shownews.php (bij wijze van spreken :p)

Daar waar je je nieuws echo'ed, van dat ding nl2br() rondzetten.

<?php echo nl2br($nieuws); ?>

dat dus ^^

ozl

Legacy Member
PHP:
    <?php
      echo '<p><b><font face="Verdana" size="2">'nl2br(.$row['post'].)'</font></b><br /></td>'
	  ?>

Kga dit eens proberen.

EDIT: Wat dus niet werkt. Dit is code van mijn newspagina.

PHP:
<html>
<head>
<script type="text/javascript">
function openComments(url)
{
comments = window.open(url, "Comment", "menubar=0,resizable=0,width=380,height=480")
comments.focus()
}
</script>
</head>
<body>
<p>
  <?php
include ('mysql_connect.php');
$query = "SELECT id, title, author, post, DATE_FORMAT(date, '%M %d, %Y') as sd FROM news_posts ORDER BY id DESC";
$result = @mysql_query($query);
 
if ($result) {
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$url = 'comments.php?id='.$row['id'];
?>
</p>
  <table border="0" cellpadding="0" cellspacing="1" width="650" align="center">
    <tr>
      <td>
      <?php
      echo '<p><b><font face="Verdana" size="2">'.$row['title'].'</font></b><br /></td>'
	  ?>    
    </tr>
    <tr>
      <td>&nbsp;      </td>
    </tr>
    <tr>
      <td>
      <?php
      echo nl2br('<p><font face="Verdana" size="2">'.$row['post'].'</font></p>');
	  ?>	  </td>
    </tr>
    <tr>
      <td>&nbsp;      </td>
    </tr>
    <tr>
      <td>
      <div align="right">
       <?php
       echo '<p><font face="Verdana" size="2">Gepost door : <b>'.$row['author'].'</font></b></p>';
	   ?>
       </div>
       </td>
    </tr>
    <tr>
      <td>&nbsp;      </td>
    </tr>
    <tr>
      <td>
      <?php
      echo '<p><font face="Verdana" size="2"><a href="javascript:openComments(\''.$url.'\')">Plaats en bekijk reacties.</a></font></p>';
	  ?>      </td>
    </tr>
  </table>
<p>&nbsp;</p>
</body>
</html>
<?php
}
} else {
echo 'There are no news posts to display';
}
?>

EDIT2: Gevonden! Het moet dus rond de volledige echo. BEDANKT!

Cyberkef

Legacy Member
coebeest zei:
PHP:
    <?php
      echo '<p><b><font face="Verdana" size="2">'nl2br(.$row['post'].)'</font></b><br /></td>'
	  ?>


EDIT2: Gevonden! Het moet dus rond de volledige echo. BEDANKT!

PHP:
    <?php
      echo '<p><b><font face="Verdana" size="2">' . nl2br($row['post']) . '</font></b><br /></td>'
	  ?>

Het waren eerder de puntjes die verkeerd stonden :p

*edit: html's gewijs klopt die tabel dan wel volledig niet (één keer een td openen, en daarna veel sluiten? :p*

ozl

Legacy Member
Cyberkef zei:
PHP:
    <?php
      echo '<p><b><font face="Verdana" size="2">' . nl2br($row['post']) . '</font></b><br /></td>'
	  ?>

Het waren eerder de puntjes die verkeerd stonden :p

*edit: html's gewijs klopt die tabel dan wel volledig niet (één keer een td openen, en daarna veel sluiten? :p*

Hm, ok bedankt. Maar ik weet niet wat die puntjes precies doen.


Ik heb hier in deze post nu die UBB codes gezien. Ik neem aan dat dat zoiets is waarmee ook je vetgedrukt, cursief, links, ... etc kan tonen in een nieuwpost? Maar waar moet ik deze code plakken in mijn code? En hoe werkt het nog allemaal. Ik zou zo een paar knoppen willen zoals je hier hebt als je een reply wilt posten.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan