preg_replace met newline in pattern

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Java developer met testervaring

Java developer met testervaring Functieomschrijving "De drempel tussen de burger en de Belastingdienst zo laag mogelijk houden: dat is de belangrijke taak van ons team. Dit doen we door het burgerportaal Mijn Belastingdienst continu te verbeteren." René, Java-specialist bij de Belastingdienst. De keten Interactie is een samenwerkingsverband van alle dienstonderdelen binnen de Belastingdienst. Samen zorgen we dat het contact met burgers en bedrijven goed kan plaatsvinden. Onze belangrijkste opgave? Zoveel mogelijk digitaliseren. Dat doen we binnen het onderdeel Informatievoorzieningen (IV), de ICT-organisatie van de Belastingdienst. Denk bij de producten die IV-Interactie ontwikkelt en onderhoudt aan portalen, formulieren en authenticatie- en

Bekijk vacature »

Full Stack Developer Industriële Automatiseri

Raster wordt continu betrokken bij complexe en baanbrekende projecten in industriële automatisering. Ons team is gespecialiseerd in productie automatisering en proces automatisering projecten waarin procesveiligheid een belangrijk aspect is. Ons compact en groeiend OX (Operational Excellence) team ontwikkelt, configureert en levert support op zelfontwikkelde applicaties waarmee onze klanten hun productieprocessen slimmer, sneller, goedkoper en veiliger maken. Operational Excellence wordt zichtbaar gemaakt in resultaten. Bij bedrijven met dezelfde strategie, zal een operationeel excellent bedrijf een lager operationeel risico, lagere operationele kosten hebben en relatief meer winst maken. Het Raster OX team laat haar klanten de resultaten behalen door hun eigen procesdata

Bekijk vacature »

Boris Mattijssen

Boris Mattijssen

12/06/2010 16:25:40
Quote Anchor link
Hey Allemaal,

Ik heb dit stukje code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$data
= 'direct[**TESTTESTETESTETSETETETSTETESTRETS**]';
echo preg_replace('|direct\[\*\*(.*)\*\*\]|', '$1', $data);
?>

Dit levert prima 'TESTTESTETESTETSETETETSTETESTRETS' op.

Alleen doe ik het zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$data
= 'direct[**TESTTESTETESTETSET
ETETSTETESTRETS**]'
;
echo preg_replace('|direct\[\*\*(.*)\*\*\]|', '$1', $data);
?>


Dan komt er 'direct[**TESTTESTETESTETSETETETSTETESTRETS**]' uit.
Ik wil uiteraard dat dit eruit komt:
Quote:
TESTTESTETESTETSET
ETETSTETESTRETS


Iemand een idee?

Groet,
Boris
 
PHP hulp

PHP hulp

19/10/2021 14:58:36
 
Piet Verhagen

Piet Verhagen

12/06/2010 18:32:33
Quote Anchor link
Probeer eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
preg_replace('|direct\[\*\*(.*)\*\*\]|m', '$1', $data);

http://nl3.php.net/manual/en/reference.pcre.pattern.modifiers.php
 
Richard van Velzen

Richard van Velzen

12/06/2010 18:34:47
Quote Anchor link
http://wiki.phpfreakz.nl/Regexes:_Veelgemaakte_fouten#Het_matchen_op_.60..2A.60

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
~\[direct\*\*([^*]*(?:\*(?!\*])[^*]*)*\*\*]~
Gewijzigd op 12/06/2010 18:35:08 door Richard van Velzen
 
Boris Mattijssen

Boris Mattijssen

13/06/2010 16:46:09
Quote Anchor link
Helaas heren maar deze code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$data
= 'direct[**LKJLKJL:JKLKJ
LJLJLHIVGIHGHUI**]'
;
echo preg_replace('|direct\[\*\*(.*)\*\*\]|m', '$1', $data);
echo '<br />';
echo preg_replace('~\[direct\*\*([^*]*(?:\*(?!\*])[^*]*))*\*\*]~', '$1', $data);
?>


Levert helaas dit op:
Quote:
direct[**LKJLKJL:JKLKJ LJLJLHIVGIHGHUI**]
direct[**LKJLKJL:JKLKJ LJLJLHIVGIHGHUI**]



EDIT:
This did the trick:
echo preg_replace('|direct\[\*\*(.*)\*\*\]|is', '$1', $data);
Gewijzigd op 13/06/2010 16:52:07 door Boris Mattijssen
 



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.