preg_replace met newline in pattern

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer / Innovatieve software / Virtual Re

Functieomschrijving Als .Net developer werken aan innovatieve software waar onder andere gebruik gemaakt wordt van Virtual Reality? Bijdragen aan een organisatie waar je uitgedaagd wordt om continu verbeteringen en ontwikkelpunten te ontdekken en door te voeren? Werken in de omgeving Putten? Reageer dan nu voor meer informatie! Het pro-actief aandragen van verbeteringen voor de bestaande applicatie; Ontwikkelen van nieuwe functionaliteiten; Doorvoeren van aanpassingen en wijzigingen; Verantwoordelijk voor koppelingen met andere systemen; Op de hoogte blijven van technische ontwikkelingen. Functie-eisen Hbo werk- en denkniveau; Een afgeronde IT gerelateerde opleiding; Minimaal 1 jaar professionele ervaring als developer; Aantoonbare kennis van C#; Initiatiefrijke

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

17/01/2020 21:00:48
 
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.