Regulární výrazy - konečný tag musí mít stejné číslo jako tag na začátku

11.05.2017 16:49
1
Pracuji s 6000 řádky kódu, potřebuji opravit konečný tag </name> který musí mít stejné číslo jako tag na začátku

Dokážete mi poradit? Už delší dobu se chci naučit Regulární výrazy, nedokážu to ale stále pochopit, vyřešily by to vůbec?

Kód:
<polozka>
<model>00629439</model>
<name1>Napájacie napätie: 230 V</name>
<name2>Menovitý príkon: 200 W</name>
<name3>Hmotnosť: 1,5 kg</name>
<name33>Zdvih: 2,4 mm</name>
<name34>Rozmer brúsnej dosky: 80×130 mm</name>
<name35>Priemer nadstavca pre odsávanie: 27 mm</name>
<name36>Počet zdvihov naprázdno: 8 000–20 000 /min</name>
</polozka>
Děkuji za radu
11.05.2017 16:57
2
napriklad v php
PHP kód:
<?php
$source 
'<polozka>
<model>00629439</model>
<name1>Napájacie napätie: 230 V</name>
<name2>Menovitý príkon: 200 W</name>
<name3>Hmotnosť: 1,5 kg</name>
<name33>Zdvih: 2,4 mm</name>
<name34>Rozmer brúsnej dosky: 80×130 mm</name>
<name35>Priemer nadstavca pre odsávanie: 27 mm</name>
<name36>Počet zdvihov naprázdno: 8 000–20 000 /min</name>
</polozka>'
;
echo 
preg_replace('/<name([0-9]+)>(.*?)<\/name>/i','<name$1>$2</name$1>'$source);

vyborny nastroj na uceni se a analyzu https://regex101.com/
a jiny nastroj na testovani php bez nutnosti mit server nebo vlastne cokoliv jineho http://sandbox.onlinephpfunctions.com/
11.05.2017 17:51
3
Za prvé: Co jsi už vyzkoušel a co ti nefunguje? Co přesně chceš vysvětlit?
Tvoje otázka je široká a líná.
potřebuji opravit konečný tag </name> který musí mít stejné číslo jako tag na začátku
Za druhé: Musíš to popsat přesněji
Chceš, aby z "name36" bylo vždy "name1"?
Je číslo v "nameX" proměnlivé, nebo je poslední číslo vždy "36"?
Je první číslo vždy "1"?
Je tam víc výskytů, které chceš upravit, nebo jen jeden?