[php] nl2br in een preg_replace

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Speedener
  • Registratie: September 2000
  • Laatst online: 18-09 12:54
Ik zit met het volgende te stoeien, wat ik wil is dat er als ik
[/br] tags om een text heen zet dat dan alles wat daarin staat, nl2br mee gedaan word.

dus ik dacht:
PHP:
1
2
3
<?php
$prow['page_text1'] = preg_replace("/\\[br\](.*?)\\[\/br\]/si", nl2br("\\1"), $prow['page_text1']);
?>


maar dat werkt niet, is dit op zich wel mogelijk of heeft iemand een ander idee dat ik gewoon in een text ook javascript kan gebruiken, want nu is het probleem dus dat als ik dat wil dat er bij elke enter in de text een <br> komt te staan en ik dus geen js kan gebruiken.

LG Therma V Split WP: HU143MA.U33-HN1636M NK5


Acties:
  • 0 Henk 'm!

  • eXcyle
  • Registratie: Juni 2002
  • Laatst online: 30-08 23:45
gewoon /n vervangen door <br>
PHP:
1
$bericht = str_replace("\n","<br>",$bericht);

Acties:
  • 0 Henk 'm!

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 22-07-2024
niet helemaal

windows gebruikt \r\n
en mac gebruikt \r
linux/unix \n

dus je moet ze dan wel alle 3 doen (te beginnen met \r\n)


edit:
maar dat was niet de vraag, dus bij deze:
PHP:
1
$prow['page_text1'] = preg_replace("/\\[br\](.*?)\\[\/br\]/si", nl2br($1), $prow['page_text1']);


dit zou volgens mij moeten werken (ga het ff testen)
edit2: hoeft niet meer ;)

This message was sent on 100% recyclable electrons.


Acties:
  • 0 Henk 'm!

  • Speedener
  • Registratie: September 2000
  • Laatst online: 18-09 12:54
BasieP schreef op 15 November 2002 @ 10:07:
niet helemaal

windows gebruikt \r\n
en mac gebruikt \r
linux/unix \n

dus je moet ze dan wel alle 3 doen (te beginnen met \r\n)


edit:
maar dat was niet de vraag, dus bij deze:
PHP:
1
$prow['page_text1'] = preg_replace("/\\[br\](.*?)\\[\/br\]/si", nl2br($1), $prow['page_text1']);


dit zou volgens mij moeten werken (ga het ff testen)
edit2: hoeft niet meer ;)
mm dat van mij werkte niet, en dat van jou geeft ie deze error:
Parse error: parse error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in d:\httpdocs\new.spinozalyceum.nl\inc\include.standaard.php on line 40
en lijn 40 is die regel

LG Therma V Split WP: HU143MA.U33-HN1636M NK5


Acties:
  • 0 Henk 'm!

  • Speedener
  • Registratie: September 2000
  • Laatst online: 18-09 12:54
nu heb ik het volgende geprobeerd, ben gewoon alle bb truukjes aant doen
PHP:
1
2
3
4
5
6
7
8
9
10
11
        $message = $prow['page_text1'];
        
        $patterns = array();
    $replacements = array();
    
    $patterns[0] = "#\\[br\](.*?)\\[/br\]#si";
    $replacements[0] = nl2br('\1');
    
    $message = preg_replace($patterns, $replacements, $message);
    
    $message = substr($message, 1);


maart werkt ook niet

LG Therma V Split WP: HU143MA.U33-HN1636M NK5


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Mja, dan kijk je even naar de /e modifier en maak je er 'nl2br($1)' van.
Wat je nu zelf probeert slaat nergens op natuurlijk dan doe je nl2br over "\1" en dat geef je daarna aan preg_replace...

Acties:
  • 0 Henk 'm!

  • Speedener
  • Registratie: September 2000
  • Laatst online: 18-09 12:54
ACM schreef op 15 november 2002 @ 10:18:
ja, dan kijk je even naar de /e modifier en maak je er 'nl2br($1)' van.
Wat je nu zelf probeert slaat nergens op natuurlijk dan doe je nl2br over "\1" en dat geef je daarna aan preg_replace...
dan krijg ik deze error:
Parse error: parse error, unexpected T_STRING in d:\httpdocs\blabla\inc\include.standaard.php(40) : regexp code on line 1
Fatal error: Failed evaluating code: nl2br(Mep mkaflhdasfhukahsdfaukhkuaf) in d:\httpdocs\new.spinozalyceum.nl\inc\include.standaard.php on line 40
dan heb ik dus aan/si heb ik een e toegevoegd dus nu staat er /sie
PHP:
1
$prow['page_text1'] = preg_replace("/\\[br\](.*?)\\[\/br\]/sie", 'nl2br($1)', $prow['page_text1']);

LG Therma V Split WP: HU143MA.U33-HN1636M NK5


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Kan zijn dat het niet helemaal netjes te evalueren is, dan moet je er nog 'nl2br("\1")' van maken, preg_replace is daar een beetje vervelend mee.

Maar aan de foutmelding had je dat ook zelf wel moeten kunnen bedenken, de geevalueerde code staat er tenslotte bij...

Acties:
  • 0 Henk 'm!

Verwijderd

Hoewel de code nu wel aardig in de buurt komt, is de vraag die ik heb wat je eigenlijk wilt?

Ik neem namelijk aan dat je eigenlijk gewoon een replacement van je
[/br] wilt met reguliere breaktags en niet met linebreaks. De eerste zie je namelijk wel in html de tweede alleen in de source (en dus niet in je browser). ???

Beetje vage actie :)

Acties:
  • 0 Henk 'm!

  • Speedener
  • Registratie: September 2000
  • Laatst online: 18-09 12:54
ik wil gewoon dat als er staat in de DB:

Got is tof
ze helpen je altijd
whoei whoei
[/br]
dat er in html komt:
Got is tof<br>
ze helpen je altijd <br>
whoei whoei<br>
edit:
maar als er dus staat

Got is tof
ze helpen je altijd
whoei whoei
[/br]
<script>
blablablal javascipt meuk enzo
</script>


Got is tof
ze helpen je altijd
whoei whoei
[/br]
dat er in html komt:
Got is tof<br>
ze helpen je altijd <br>
whoei whoei<br>
<script>
blablablal javascipt meuk enzo
</script>
Got is tof<br>
ze helpen je altijd <br>
whoei whoei<br>

LG Therma V Split WP: HU143MA.U33-HN1636M NK5


Acties:
  • 0 Henk 'm!

  • Speedener
  • Registratie: September 2000
  • Laatst online: 18-09 12:54
hier stond dom geblaat

het werkt gewoon

LG Therma V Split WP: HU143MA.U33-HN1636M NK5


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Speedener schreef op 15 november 2002 @ 11:11:
hier stond dom geblaat

het werkt gewoon

Hoe bedoel je dat :?
Bij mij werkt ie met je tweede voorbeeld prima.

Ah, had je ook al door :P
Pagina: 1