kostenloser Webspace werbefrei: lima-city


<br /> entfernen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    vercetti

    vercetti hat kostenlosen Webspace.

    Hi,
    ich hab da ein Problem xD
    Ich hab ein script, womit man seiten bearbeiten kann. Das script wandelt beim speichern die \n's in <br />'s um, soweit ist alles OK. Nur beim bearbeiten, wenn schon <br />'s da sind, dann ist der zeilenumbruch noch dahinter, und PHP macht daraus wieder ein <br /> somit hat man zwei zeilenumbr?che. Wie mache ich es, dass PHP vor dem anzeigen des textes in der Textarea die <br />'s entfernt?
    Bitte so schnell wie m?glich, da ich meine seite am 1.Mai fertig haben muss^^"


    -> Vercetti
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. du wandelst nicht vor dem speichern alle \n in <br \>`s um, sondern erst wenn sie ausgegeben werden
  4. Autor dieses Themas

    vercetti

    vercetti hat kostenlosen Webspace.


    du wandelst nicht vor dem speichern alle \n in <br \>`s um, sondern erst wenn sie ausgegeben werden



    doch tu ich, ich geb dir mal den ausschnitt des editier dingsdas:

    [php]
    <?php
    if ($_GET['action'] == "edit") {
    $file = $_GET['file'];
    $filen = $_GET['filen'];
    $fp = fopen($file,"r");
    $get = fread($fp, filesize($file));
    $text_zeig = preg_replace ('<br />',' ',$get);

    ?>
    <form method="POST" action="index.php?section=admin&b=<? echo $_GET['b'];?>&was=cms&action=update&<?php echo $sidu;?>">
    <div width="72%">
    <b>?berschrift:</b> <? echo $filen;?> <br>
    <b>Text:</b> <textarea rows="25" name="text" cols="70"><? echo $text_zeig;?></textarea><br>
    <input type="submit" value="?ndern" name="los">
    <input type="hidden" name="file" value="<? echo $_GET['file'];?>">
    <input type="hidden" name="filen" value="<? echo $_GET['filen'];?>">
    </div>
    </form>
    <?
    fclose($fp);
    }
    if ($_GET['action'] == "update") {
    $file = $_POST['file'];
    $filen = $_POST['filen'];
    $fp = fopen($file,"w");
    $text0 = $_POST['text'];
    $text1 = nl2br($text0);
    $text = stripslashes($text1);
    fwrite($fp,$text);
    fclose($fp);
    echo $filen;
    echo " ge?ndert!";
    ?>
    <a href="index.php?section=site_open&site=<? echo $file;?>&sitename=<? echo $siten;?>">zur?ck zu/m <? echo $siten;?></a>
    <?
    }

    ?>

    [/php]

    nur beim speichern schreibt der die <br />'s. Beim Ausgben l?dt der die wieder in die textarea, und macht beim speichern noch eins dahinter wegen dem Zeilenumbruch...
  5. Schreib das hier:

    <?php
    if ($_GET['action'] == "edit") {
    $file = $_GET['file'];
    $filen = $_GET['filen'];
    $fp = fopen($file,"r");
    $get = fread($fp, filesize($file));
    $text_zeig = preg_replace ('<br />',' ',$get);

    ?>
    <form method="POST" action="index.php?section=admin&b=<? echo $_GET['b'];?>&was=cms&action=update&<?php echo $sidu;?>">
    <div width="72%">
    <b>?berschrift:</b> <? echo $filen;?> <br>
    <b>Text:</b> <textarea rows="25" name="text" cols="70"><? echo $text_zeig;?></textarea><br>
    <input type="submit" value="?ndern" name="los">
    <input type="hidden" name="file" value="<? echo $_GET['file'];?>">
    <input type="hidden" name="filen" value="<? echo $_GET['filen'];?>">
    </div>
    </form>
    <?
    fclose($fp);
    }
    if ($_GET['action'] == "update") {
    $file = $_POST['file'];
    $filen = $_POST['filen'];
    $fp = fopen($file,"w");
    $text0 = $_POST['text'];
    $text = stripslashes($text1);
    fwrite($fp,$text);
    fclose($fp);
    echo $filen;
    echo " ge?ndert!";
    ?>
    <a href="index.php?section=site_open&site=<? echo $file;?>&sitename=<? echo $siten;?>">zur?ck zu/m <? echo $siten;?></a>
    <?
    }

    ?>

    Es lag an der Funktion nl2br().

    H2O
  6. Autor dieses Themas

    vercetti

    vercetti hat kostenlosen Webspace.

    Nur wenn jetzt ein User der kein HTML benutzt den Text ?ndern will, und der einen zeilenumbruch machen will, geht das ja nicht mehr, weil nl2br() hat ja die br's gemacht, damit's die User es nicht m?ssen.... Deswegen sollten beim bearbeiten die <br />s automatisch entfernt werden... Ich hab die br's zwar weggekrigt, aaaaaber es kommt ein < > wo ein BR war
  7. derturbohummel

    derturbohummel hat kostenlosen Webspace.

    versuchs mal so:

    str_replace ( '<br />', "\n", $string);
    str_replace ( '<br>', "\n", $string);

    Wichtig sind die doppelten Anf?hrungszeichen f?r den \n
  8. Autor dieses Themas

    vercetti

    vercetti hat kostenlosen Webspace.

    THX derturbohummel, tut soweit alles, aber da ja in der Datei das z.B. so aussieht:
    ZEILE eins <br />
    Zeile zwei <br/>

    Da sind nach dem <br /> noch Zeilenumbr?che, deswegen soll das <br /> beim editieren ja entfernt werden, damit danach nicht zwei st?ck da stehen, so wie ich es aber jetzt habe, entfernt der das <br /> nicht, sondern ersetzt es durch noch einen Zeilenumbruch ...
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!