Likes Likes:  0
Resultaten 1 tot 10 van de 10
Geen
  1. #1
    Robert
    PHP: nieuwe alinea weergeven zoal singevoerd in formulier?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    PHP: nieuwe alinea weergeven zoal singevoerd in formulier?

    Hallo,

    Net begonnen met PHP dient zich de volgende vraag aan:

    Hoe kan ik voor elkaar krijgen dat tekst die via een html-form in een
    MySql database wordt opgeslagen, dezelfde weergave biedt zoals ingetypt
    door de gebruiker?
    Als bij het invullen van het textveld een nieuwe alinea wordt gemaakt
    door middel van een harde return, wordt de tekst als ik hem uit de
    database haal, achter elkaar doorlopend weergegeven.
    Als ik een <p> in het formulier intyp, werkt het wel. Maar als het zonder
    <p> kan, heb ik dat liever.

    Op PHP.net kon ik het antwoord niet vinden. Misschien moet ik mij aan de
    nog bijzonder ingewikkeld uitziende 'regular expressions' gaan wagen..?

    Wie zou mij op weg kunnen en willen helpen?

    Alvast bedankt!
    Robert

  2. #2
    David Baakman
    PHP: nieuwe alinea weergeven zoal singevoerd in formulier?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP: nieuwe alinea weergeven zoal singevoerd in formulier?

    Robert wrote:
    > Hallo,
    >
    > Net begonnen met PHP dient zich de volgende vraag aan:
    >
    > Hoe kan ik voor elkaar krijgen dat tekst die via een html-form in een
    > MySql database wordt opgeslagen, dezelfde weergave biedt zoals ingetypt
    > door de gebruiker?
    > Als bij het invullen van het textveld een nieuwe alinea wordt gemaakt
    > door middel van een harde return, wordt de tekst als ik hem uit de
    > database haal, achter elkaar doorlopend weergegeven.


    Ja, dat klopt. Een enter in een html-form wordt gecodeerd als een \n, zo
    wordt hij dus ook in de database opgeslagen, en later weer opgehaald en
    weergegeven (als je in de html source kijkt zul je als het goed is ook
    een regelovergang vinden).

    Je wilt nu dus ipv de \n's een <br> hebben, zodat niet de html source
    wordt afgebroken, maar de gerenderde tekst. Je zou nu een reguliere
    expressie kunnen maken (he, jij wou het ) die alle \n vervangt door
    <br>, maar aangezien deze situatie zovaak voorkomt zit er in PHP een
    standaardfunctie die precies dit doet: nl2br()

    David
    --
    Cal42a Flatlog: http://kristo.student.utwente.nl/~flat/
    Persoonlijk pagina: http://www.davidbaakman.nl/

  3. #3
    Robert
    PHP: nieuwe alinea weergeven zoal singevoerd in formulier?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP: nieuwe alinea weergeven zoal singevoerd in formulier?

    In article <MPG.19ede13a408931a19897d1@fb1.euro.net>,
    d.baakman@student.utwente.nl says...
    > Robert wrote:
    > > Hallo,
    > >
    > > Net begonnen met PHP dient zich de volgende vraag aan:
    > >
    > > Hoe kan ik voor elkaar krijgen dat tekst die via een html-form in een
    > > MySql database wordt opgeslagen, dezelfde weergave biedt zoals ingetypt
    > > door de gebruiker?
    > > Als bij het invullen van het textveld een nieuwe alinea wordt gemaakt
    > > door middel van een harde return, wordt de tekst als ik hem uit de
    > > database haal, achter elkaar doorlopend weergegeven.

    >
    > Ja, dat klopt. Een enter in een html-form wordt gecodeerd als een \n, zo
    > wordt hij dus ook in de database opgeslagen, en later weer opgehaald en
    > weergegeven (als je in de html source kijkt zul je als het goed is ook
    > een regelovergang vinden).
    >
    > Je wilt nu dus ipv de \n's een <br> hebben, zodat niet de html source
    > wordt afgebroken, maar de gerenderde tekst. Je zou nu een reguliere
    > expressie kunnen maken (he, jij wou het ) die alle \n vervangt door
    > <br>, maar aangezien deze situatie zovaak voorkomt zit er in PHP een
    > standaardfunctie die precies dit doet: nl2br()
    >
    > David
    > --
    > Cal42a Flatlog: http://kristo.student.utwente.nl/~flat/
    > Persoonlijk pagina: http://www.davidbaakman.nl/
    >

    Dag David,

    Heel hartelijk bedankt voor je uitleg.
    Hierdoor kwam ik op het goede spoor.

    Ik heb het inmiddels opgelost d.m.v. een string replace bij de uitvoer
    uit de database. Deze methode werd aangeraden op php.net.

    // string replace
    $bericht = str_replace("\n","<br>","$bericht");

    Dit werkt perfect!

    Nogmaals dank,
    Robert

  4. #4
    Maarten Wierda
    PHP: nieuwe alinea weergeven zoal singevoerd in formulier?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP: nieuwe alinea weergeven zoal singevoerd in formulier?

    Robert wrote:

    [...]

    > Ik heb het inmiddels opgelost d.m.v. een string replace bij de uitvoer
    > uit de database. Deze methode werd aangeraden op php.net.
    >
    > // string replace
    > $bericht = str_replace("\n","<br>","$bericht");


    Ik beveel je toch nl2br() aan.
    <http://nl.php.net/manual/en/function.nl2br.php>

    --
    Cheers, Maarten Wierda

    Q: What do you call someone who hangs around with musicians?
    A: A drummer.


  5. #5
    Robert
    PHP: nieuwe alinea weergeven zoal singevoerd in formulier?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP: nieuwe alinea weergeven zoal singevoerd in formulier?

    In article <bm16n2$1ai6$1@nl-news.euro.net>, moart3nAT@chello.nl says...
    > Robert wrote:
    >
    > [...]
    >
    > > Ik heb het inmiddels opgelost d.m.v. een string replace bij de uitvoer
    > > uit de database. Deze methode werd aangeraden op php.net.
    > >
    > > // string replace
    > > $bericht = str_replace("\n","<br>","$bericht");

    >
    > Ik beveel je toch nl2br() aan.
    > <http://nl.php.net/manual/en/function.nl2br.php>
    >
    > --
    > Cheers, Maarten Wierda
    >
    > Q: What do you call someone who hangs around with musicians?
    > A: A drummer.
    >
    >

    Hoi Maarten,

    nl2br() heb ik geprobeerd, maar de functie gaf alleen maar foutmeldingen.

    Waar en hoe zou ik deze 'function' moeten inpassen? Mijn script ziet er
    nu zo uit:
    .................................................. ..........
    <?php

    // verbind met database-server en kies database
    include 'connect-nieuws.php';

    // haal rijen uit tabel 'gegevens' en rangschik op datum
    $result = mysql_query("SELECT * FROM berichten ORDER BY datum
    DESC") or die(mysql_error());

    $aantal_rijen = mysql_num_rows($result);

    // als er rijen gevonden zijn...

    if ($aantal_rijen > 0) {

    // alle rijen een voor een aflopen...
    for ($i = 0; $i < $aantal_rijen; $i++)
    {
    $id = mysql_result($result, $i, 'id');
    $datum = mysql_result($result, $i, 'datum');
    $kop = mysql_result($result, $i, 'kop');
    $bericht = mysql_result($result, $i, 'bericht');
    $hyperlink = mysql_result($result, $i, 'hyperlink');

    // string replace
    $bericht = str_replace("\n","<br>","$bericht");

    // ... en info uit elke rij afbeelden
    echo $datum."<br>";
    echo "<b>".$kop."</b><br>";
    echo $bericht."<p>";
    echo "<a href=>".$hyperlink."</a><p>";

    // de stippellijn tussen de items

    echo "<hr>";

    } // einde alle rijen aflopen
    } // einde als er rijen gevonden zijn
    ?>
    .................................................. ...........

    Groet,
    Robert

  6. #6
    Daniel Tryba
    PHP: nieuwe alinea weergeven zoal singevoerd in formulier?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP: nieuwe alinea weergeven zoal singevoerd in formulier?

    Robert <xipe@spamcop.net> wrote:
    >> Ik beveel je toch nl2br() aan.
    >> <http://nl.php.net/manual/en/function.nl2br.php>

    >
    > nl2br() heb ik geprobeerd, maar de functie gaf alleen maar foutmeldingen.


    En welke mogen dat dan wel zijn?

    --

    Daniel Tryba


  7. #7
    Maarten Wierda
    PHP: nieuwe alinea weergeven zoal singevoerd in formulier?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP: nieuwe alinea weergeven zoal singevoerd in formulier?

    Robert wrote:

    >>>Ik heb het inmiddels opgelost d.m.v. een string replace bij de uitvoer
    >>>uit de database. Deze methode werd aangeraden op php.net.
    >>>
    >>>// string replace
    >>> $bericht = str_replace("\n","<br>","$bericht");

    >>
    >>Ik beveel je toch nl2br() aan.

    >
    > nl2br() heb ik geprobeerd, maar de functie gaf alleen maar foutmeldingen.


    En welke zijn dat?

    > Waar en hoe zou ik deze 'function' moeten inpassen? Mijn script ziet er
    > nu zo uit:


    <snip>

    > // string replace
    > $bericht = str_replace("\n","<br>","$bericht");


    Bijv. $bericht = nl2br($bericht);


    --
    Cheers, Maarten Wierda

    Q: What do you call someone who hangs around with musicians?
    A: A drummer.


  8. #8
    Robert
    PHP: nieuwe alinea weergeven zoal singevoerd in formulier?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP: nieuwe alinea weergeven zoal singevoerd in formulier?

    In article <MPG.19ee53c836b93ada989724@news.xs4all.nl>, xipe@spamcop.net
    says...
    > In article <bm16n2$1ai6$1@nl-news.euro.net>, moart3nAT@chello.nl says...
    > > Robert wrote:
    > >
    > > [...]
    > >
    > > > Ik heb het inmiddels opgelost d.m.v. een string replace bij de uitvoer
    > > > uit de database. Deze methode werd aangeraden op php.net.
    > > >
    > > > // string replace
    > > > $bericht = str_replace("\n","<br>","$bericht");

    > >
    > > Ik beveel je toch nl2br() aan.
    > > <http://nl.php.net/manual/en/function.nl2br.php>
    > >
    > > --
    > > Cheers, Maarten Wierda
    > >
    > > Q: What do you call someone who hangs around with musicians?
    > > A: A drummer.
    > >
    > >

    > Hoi Maarten,
    >
    > nl2br() heb ik geprobeerd, maar de functie gaf alleen maar foutmeldingen.

    Dag Maarten en Daniel,

    Hartelijk bedankt voor de hulp.
    Het werkt nu. Ik heb een fout gemaakt bij het aanroepen van nl2br: ik had
    het op de verkeerde plaats gedaan, hetgeen een foutmelding gaf
    betreffende de declaratie van de variabele. Het was iig geen parse-error.

    Nogmaals dank!
    Robert (die zich nog afvraagt waarom nl2br de voorkeur geniet...)

  9. #9
    Daniel Tryba
    PHP: nieuwe alinea weergeven zoal singevoerd in formulier?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP: nieuwe alinea weergeven zoal singevoerd in formulier?

    Robert <xipe@spamcop.net> wrote:
    > Robert (die zich nog afvraagt waarom nl2br de voorkeur geniet...)


    Omdat bij de invoer van een textarea niet helemaal vaststaat welke
    regeleindes er worden meegestuurd, je hebt de keuze uit (gesorteerd op
    kans op voorkomen):
    3) \r
    2) \n
    1) \r\n

    Je str_replace is dus niet volledig. Wat nl2br in principe doet is:

    function nl2br($str)
    {
    return preg_replace('/(\r\n|\n|\r)/','<br />\\0',$str);
    }

    Maar aangezien nl2br() een gecompileerde functie is zal dat over het
    sneller zijn.

    --

    Daniel Tryba


  10. #10
    Robert
    PHP: nieuwe alinea weergeven zoal singevoerd in formulier?
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: PHP: nieuwe alinea weergeven zoal singevoerd in formulier?

    In article <bm1kgr$6ek$1@news.tue.nl>, news_nl.internet.www.server-
    side@canopus.nl says...
    > Robert <xipe@spamcop.net> wrote:
    > > Robert (die zich nog afvraagt waarom nl2br de voorkeur geniet...)

    >
    > Omdat bij de invoer van een textarea niet helemaal vaststaat welke
    > regeleindes er worden meegestuurd, je hebt de keuze uit (gesorteerd op
    > kans op voorkomen):
    > 3) \r
    > 2) \n
    > 1) \r\n
    >
    > Je str_replace is dus niet volledig. Wat nl2br in principe doet is:
    >
    > function nl2br($str)
    > {
    > return preg_replace('/(\r\n|\n|\r)/','<br />\\0',$str);
    > }
    >
    > Maar aangezien nl2br() een gecompileerde functie is zal dat over het
    > sneller zijn.
    >
    > --
    >
    > Daniel Tryba
    >
    >

    Daniel,

    Hartelijk dank voor deze uitleg!

    Robert

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics