Newline naar break tussen <p> en </p> tags

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mobile Developer in Oost-Nederland (Android en/of

Bedrijfsomschrijving Een unieke kans voor Mobile Developers in Oost-Nederland. Deze prachtige organisatie is namelijk opzoek naar een Mobile Developer. Mobile Development en Ops Engineering gaan hand in hand bij deze organisatie dat een hoog verantwoordelijkheidsgevoel draagt. Als organisatie ontwikkelt zij dan ook veelal mobiele applicaties ter inspiratie en ondersteuning van belangrijke sectoren in Nederland. Met het technische team van gepassioneerde developers en engineers voeren ze dagelijks veelal diverse, inspirerende en complexe werkzaamheden uit. Door gebruik van innovatieve software en de nieuwste platformen binnen de sector is deze klant dan ook zeker als vooruitstrevend te betitelen waar zijn enorm veel waarde

Bekijk vacature »

Mendix Developer

Over Troostwijk Troostwijk is met 160 medewerkers toonaangevend op het gebied van taxaties van onroerende en roerende zaken ten behoeve van verzekeringen en bedrijfseconomische doeleinden. Daarnaast houden wij ons bezig met schaderegelingen in het belang van verzekerden. In binnen- en buitenland bedienen wij beleggers, banken, (beursgenoteerde) fondsen, overheden, woningcorporaties, financiers en vastgoedgebruikers- van MKB tot multinationals. Troostwijk Groep bestaat uit vier businessunits: Troostwijk Taxaties, Troostwijk Expertises, Troostwijk Real Estate en Apresa (kunsttaxaties). Troostwijk is sinds mei 2017 onderdeel van het Spaanse bedrijf Tinsa. Troostwijk Groep is op zoek naar een ervaren Mendix Developer standplaats Amsterdam Je bent een getalenteerde en

Bekijk vacature »

David Willems

David Willems

12/09/2010 17:10:47
Quote Anchor link
Ik zit al een tijdje met het volgende probleem:

Ik haal data uit een databank en ik wil de newlines (/n) vervangen door een break (<br />) MAAR enkel tussen <p> en </p> tags. Nl2br biedt hiervoor helaas geen oplossing omdat deze functie overal een break plaatst.

Een oplossing zou zijn om de functie preg_replace te gebruiken om de tekst tussen de <p> tags te vinden en hierop nl2br los te laten als volgt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $string = preg_replace("#<p>(.+?)</p>#",nl2br("\\1"),$string); ?>


Maar helaas, dit werkt niet. De tekst staat er wel maar nergens werd een break toegevoegd. Het lijkt wel alsof nl2br niet werkt in die functie.

Heeft er iemand een oplossing voor mijn probleem?

Groetjes David
Gewijzigd op 12/09/2010 17:14:43 door David Willems
 
PHP hulp

PHP hulp

19/01/2021 12:21:12
 
Dalando De Zuil

Dalando De Zuil

12/09/2010 18:39:57
Quote Anchor link
Probeer eens zonder variable...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$string
= "ABC";

preg_replace("#<p>(.+?)</p>#",nl2br("\\1"),$string);

echo $string;
?>
 
David Willems

David Willems

12/09/2010 19:09:42
Quote Anchor link
Dalando De Zuil op 12/09/2010 18:39:57:
Probeer eens zonder variable...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$string
= "ABC";

preg_replace("#<p>(.+?)</p>#",nl2br("\\1"),$string);

echo $string;
?>


Dit werkt helaas ook niet :(
Heeft er nog iemand een idee?
 
Jan geen

Jan geen

12/09/2010 19:20:09
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$string
= "ABC";

$result = preg_replace("#<p>(.+?)</p>#",nl2br("\\1"),$string);

echo $result;
?>


zoiets?
 
David Willems

David Willems

12/09/2010 20:11:06
Quote Anchor link
Rik geen op 12/09/2010 19:20:09:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$string
= "ABC";

$result = preg_replace("#<p>(.+?)</p>#",nl2br("\\1"),$string);

echo $result;
?>


zoiets?

Ook dit doet het niet. Het ziet er gewoon naar uit dat de functie nl2br gewoonweg niets wijzigt.
 
SilverWolf NL

SilverWolf NL

12/09/2010 20:12:17
Quote Anchor link
Wat je nu doet is nl2br uitvoeren op de \\1, ik geloof dat het zo wel werkt:

Edit: e-modifier toegevoegd.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$string
= "ABC

<p>
a
b
</p>"
;
$string=preg_replace("#<p>(.+?)</p>#ise","'<p>'.nl2br('$1').'</p>'",$string);
echo $string;
?>


Let er wel op dat nu de enter na <p> ook gelijk omgezet wordt in een <br />. Als je dit niet wil zal je je regex moeten aanpassen...
Gewijzigd op 12/09/2010 20:22:08 door SilverWolf NL
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.