PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Regex Problem



imported_Paulaner
13.10.2005, 14:07
ok habe jetzt eine tolle idee wie ich mein html parser bastle, krieg aber den regulären ausdruck nicht gebacken.

mein text:

<a href=test>dies ist ein Test</a><b>noch was</b> ich versuche einen regex zu basteln, der mir ein array mit folgenden felder ausgibt:

array[0]: <a href=test>
array[1]: dies ist ein Test
array[2]: </a><b>
array[3]: noch was
array[4]: </b>
ist sowas möglich? mein code sieht bisher so aus, aber es funzt noch net so ganz, weil er mir auch die < > rausschneidet.

$array = preg_split("!\<(.*)\>!isU", $text, -1, PREG_SPLIT_DELIM_CAPTURE); hat jemand eine ahnung wo der fehler ist?

Figurehead
16.10.2005, 18:45
$text = '<a href=test>dies ist ein Test</a><b>noch was</b>';
preg_match('=(<[^>]*>)(.*?)(<[^>]*>)=s', $text, $matches);

print_r($matches);


liefert:



[0] => <a href=test>dies ist ein Test</a>
[1] => <a href=test>
[2] => dies ist ein Test
[3] => </a>


Was alledings mit Regulären Ausdrücken NICHT funktioniert sind Verchachtelungen ind der Form:<a href=test><span>dies <b>ist</b> ein Test</span></a><b>noch was</b>