login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Enter omzetten in br /

Offline StriKe - 03/09/2004 10:36
Avatar van StriKeHTML interesse Hallo,

Eigenlijk is m'n vraag een voortbouwen op deze tread (intussen gesloten):
http://www.site...&id=59

Ik heb namelijk ontdekt dat als ik een enter neem tussen [] de html code niet meer wordt afgebeeld, maar ook weer gewoon wordt uitgevoerd.

Nu had ik nog graag geweten hoe ik eventueel 'enters' binnen [] kan omzetten in <br> die dan wel uitgevoerd moet worden.

Lijkt me ook met de dezelfde functie te moeten gebeuren maar hoe verwijs ik in php naar 'een enter'?
Is daar ook 'teken' voor? Naar een a verwijs je door een a te schrijven, maar hoe wijs je naar 'een enter'? (moeilijk uitgelegd hé ;)

Groeten,
StriKe

7 antwoorden

Gesponsorde links
Offline Thomas - 03/09/2004 10:48
Avatar van Thomas Moderator Bedoel je nl2br() ?
Offline StriKe - 03/09/2004 12:51
Avatar van StriKe HTML interesse Idd maar ik vrees dat ik die functie hier niet zal kunnen gebruiken.
Het zit namelijk zo: in een database zit in een bepaald veld een hele tekst met html code die zorgt voor de opmaak. Probleem is echter dat sommige delen niet uitgevoerd mogen worden van die html, maar afgebeeld moeten worden op de webpagina zelf (ik schrijf een cursus html ...)

De delen waarbij de html afgebeeld (en dus niet uitgevoerd) moet worden staat tussen []

Die html code afbeelden lukt met onderstaande code, maar dan mag er geen enter staan tussen [] anders worden alleen die haken afgebeeld:

  1. <?php
  2. $Rij[artikel_inhoud] = preg_replace('/\[(.*)\]/ie', '"" . htmlspecialchars("\\1") . ""', $Rij[artikel_inhoud]);
  3. ?>


Vandaar dat ik dacht om die enters om te zetten in <br> in de hoop dat die dan uitgevoerd zouden worden.

Weet jij eventueel een andere oplossing?

Groeten,
StriKe
Offline Thomas - 03/09/2004 13:10 (laatste wijziging 03/09/2004 13:19)
Avatar van Thomas Moderator
  1. $Rij[artikel_inhoud] = preg_replace('/\[(.*)\]/ie', '"" . htmlspecialchars("\\1") . ""', $Rij[artikel_inhoud]);


veranderen naar

  1. $Rij[artikel_inhoud] = preg_replace('/\[(.*)\]/ie', '"" . nl2br(htmlspecialchars("\\1")) . ""', $Rij[artikel_inhoud]);


?

Dat enter-probleem kun je oplossen door aan de reguliere expressie bij die /ie een "s" toe te voegen - dan pakt (.*) ook regelovergangen.

Dus doe het zo:
  1. $Rij[artikel_inhoud] = preg_replace('/\[(.*)\]/sie', '"" . nl2br(htmlspecialchars("\\1")) . ""', $Rij[artikel_inhoud]);
Offline StriKe - 04/09/2004 08:18
Avatar van StriKe HTML interesse Hallo,

Alvast hartelijk dank voor je reactie!

Klein probleempje is nog dat hij enerzijds idd die <br> gaat uitvoeren (bij een enter binnen [] neemt hij dus een nieuwe lijn) maar hij gaat die ook afbeelden.

zodat er bijvoorbeeld dit staat:

  1. <table> <br />
  2. <tr><br />
  3. <td></td></br>
  4. ...


Dat is zoals je weet niet de correcte manier om een tabel op te stellen en kan ik dus ook 'niet gebruiken' binnen een html cursus 

Groeten,
StriKe
Offline Scott - 04/09/2004 09:38
Avatar van Scott Gouden medaille

PHP ver gevorderde
Op deze manier moet het lukken:

$Rij[artikel_inhoud] = preg_replace('/\[(.*)\]/sie', '"" . nl2br(htmlspecialchars("\\1")) . ""', $Rij[artikel_inhoud]);
$Rij['artikel_inhoud'] = nl2br($Rij['artikel_inhoud']);

Scott ;)
Offline Thomas - 04/09/2004 10:02
Avatar van Thomas Moderator Je moet éérst de HTML code uitschakelen met htmlspecialchars() of equivalent, en dan nl2br() erover heen gooien. Dat zou moeten werken.
Alle <br>'s die al in de HTML stonden, worden als tekst afgedrukt (vanwege htmlspecialchars()).
Offline StriKe - 05/09/2004 08:12
Avatar van StriKe HTML interesse Lukt dus nog altijd niet 

Code die ik krijg:
  1. <table><br />
  2. <tr><br />
  3. <td></td><br />
  4. </tr><br />
  5. </table>
  6. Gedaan met de tabel


Als ik jou goed begrijp FangorN dan is het vrij normaal dat ik bovenstaande resultaat krijg, en ik kan je daar min of meer in volgen ...

Maar zien jullie dan een andere manier langswaar ik "een html cursus' kan schrijven? Het idee dat ik tot nog toe wou realiseren is dus duidelijk niet het ideale, vandaar ...

Zaak is wel dat tussen gewone tekst dus die html code komt te staan in die cursus ...
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.211s