[php] met regex iets meerdere keren vervangen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sorry zie dat ik een hele slechte titelnaam heb :/

Ik wil met een regxp het volgende bereiken:

ik wil als een element data bevat voor iedere nul in die data het element
herhalen met hetzelfde attribuut maar zonder de data, dus:

<f attr="vr">000</f>
wordt:
<f attr="vr"/>
<f attr="vr"/>
<f attr="vr"/>

of:
code:
1
2
3
4
5
<f attr="man"/>
<f attr="vr">000</f>
<f attr="man"/>
<f attr="vr"/>
<f attr="vr"/>

wordt
code:
1
2
3
4
5
6
7
8
9
<f attr="man"/>
<!--  deze zijn dus vervangen -->
<f attr="vr"/>
<f attr="vr"/>
<f attr="vr"/>
<!--  / deze zijn dus vervangen -->
<f attr="man"/>
<f attr="man"/>
<f attr="vr"/>

Ik heb deze code maar die replaced het hele element
voor één leeg element en kijkt dus niet naar de attributen (dus de hoeveelheid nullen):
PHP:
1
2
3
$pattern ="|<f attr=\"(.*)>(.*)</f(.*)\r\n|U ";
$replacement ="<f attr=\"$1/>\r\n";
$bewerkt = preg_replace($pattern, $replacement, $string);


Is het überhaupt mogelijk of moet ik toch voor een andere oplossing gaan

[ Voor 48% gewijzigd door Verwijderd op 27-04-2004 21:06 . Reden: slechte titel ]


Acties:
  • 0 Henk 'm!

Verwijderd

Met de e pattern modifier en str_repeat moet het lukken, denk ik.