login  Naam:   Wachtwoord: 
Registreer je!
 Forum

newline probleem (Opgelost)

Offline qubus - 21/05/2007 21:51
Avatar van qubusLid Hallo,

Op mijn site schrijf ik html code weg in een tekstbestand, en haal die later weer op als dat nodig is. Dit doe ik omdat mensen dat zelf kunnen aanpassen. Het wegschrijven gaat prima, en als ik het tekstbestand open, ziet het er uit zoals ik wil.

Maar als ik het ophaal en in een textbox plaats, staat er aan het eind van elke regel een <BR /> en dat moet niet.

Hoe krijg ik die weer weg? stripslashes werkt niet.

Alvast bedankt!

4 antwoorden

Gesponsorde links
Offline cloudstrife - 21/05/2007 22:11
Avatar van cloudstrife PHP beginner <br /> vervangen door \n via str_replace()
Offline JBke - 21/05/2007 22:13 (laatste wijziging 21/05/2007 22:36)
Avatar van JBke PHP gevorderde er staan functies voor de omgekeerde werking van nl2br zoek dat eens op

http://be.php.net/nl2br anders kan je trachten te werken met een preg_replace

voorbeeld 1:
  1. <?php
  2. function br2nl($text)
  3. {
  4. return preg_replace('/<br\\\\s*?\\/??>/i', "\\n", $text);
  5. }
  6. ?>


de bovenste kan je gebruiken als je de huidige opmaak wil behouden.

onderstaande gebruik je als je eigen linebreaks in wil voegen anders krijg je dubbele spaties op plaatsen van linebreaks.
voorbeeld2:
  1. <?php
  2. function br2nl($str) {
  3. $str = preg_replace("/(\r\n|\n|\r)/", "", $str);
  4. return preg_replace("=<br */?>=i", "\n", $str);
  5. }
  6. ?>


deze functies doen beide hetzelfde dus net het omgekeerde van nl2br.
Omdat nl2br lijnonderbrekingen niet verwijderd alvorens <br /> toe te voegen moeten deze eerst verwijderd worden anders krijg je dubbele spaties als je eigen opmaak gaat maken en de tekst eerst achtereenplaatst en dan weer opdeelt.

success
Offline qubus - 22/05/2007 09:33 (laatste wijziging 22/05/2007 09:43)
Avatar van qubus Lid Hallo,

Dat werkte niet, maar ik heb de functie om de text op te halen aangepast, en nu werkt het!

Voor iemand die hier ook misschien wat mee kan:

  1. <? function get_text($bestandsnaam) {
  2.  
  3. $bestandsnaam = "./templates/custom/" . $bestandsnaam;
  4. if(!file_exists($bestandsnaam) || filesize($bestandsnaam) == 0){ return "Het bestand '".$bestandsnaam."' bestaat niet, of is leeg!"; }
  5.  
  6. else { $openbestand = fopen($bestandsnaam, "r");
  7. $inhoud = fread($openbestand, filesize($bestandsnaam));
  8. fclose($openbestand);
  9. return preg_replace('/<br\\\\s*?\\/??>/i', "\\n", $inhoud);
  10. //return(($inhoud));
  11. }
  12. }?>


Bedankt voor het meedenken!
Offline JBke - 22/05/2007 17:06
Avatar van JBke PHP gevorderde de functie werkte niet?? nochtans getest en je gebruikt net hetzelfde in je preg_replace.
raar dat het daar dan wel werkt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.32s