Olek: Tabelle ersetzten

Hallo zusammen,

mit preg_replace möchte ich eine Tabelle entfernen, die am Anfang eines Textes vor kommt.
Alle meien Versuche sind leider gescheitert :-(

Also habe folgenden Text:

  
$text ='<table align="left" cellpadding="1" cellspacing="0" width="175">  
	<tbody>  
		<tr>  
			<td>  
			<table cellpadding="2" cellspacing="0">  
				<tbody>  
					<tr>  
						<td>mosimage</td>  
					</tr>  
				</tbody>  
			</table>  
			</td>  
		</tr>  
	</tbody>  
</table>  
<h2>Test Text </h2>  
Wenn sich eine Zelle teilt, wird ihr gesamtes Erbgut kopiert, damit auch die zweite Zelle eine vollständige genetische Ausstattung bekommt. Bei dem Kopiervorgang öffnet sich der DNA-Doppelstrang wie ein Reißverschluss und die zwei Einzelstränge werden wieder zu Doppelsträngen vervollständigt.  
  
<p>  
Immer wieder hatten sich in den vergangenen Jahren dubiose Adresshändler Zugriff auf Kundendaten der Telekom verschafft. Im wohl spektakulärsten Fall aus dem Jahr 2006, der vor einem Jahr bekannt geworden war, wurden dem Konzern 17 Millionen Telefonnummern und Kundendaten der Mobilfunksparte T-Mobile  
</p>';

Ersetzten

  
$r = preg_replace("/^.*[\<\/table\>]$/mi", '', $text); # wird die Tabelle entfernt, aber auch der h2 Tag  
$r = preg_replace("/[\<table .*\/table\>]/mi", '', $text); # werden alle spieter Klammern entfertn.  

Hat jemand eine Idee wie ich die Tabelle entfernen kann?

Grüße
Olek

  1. Lieber Olek,

    "/^.*[</table>]$/mi"

    Du hast anscheinend noch nicht ganz genau nachgelesen, was Dein eckiges Klammernpaar bewirkt, oder? Schau mal nach was [ ] in einem regulären Suchausdruck bedeuten, und Du wirst erkennen, was an Deinem Ansatz schief gehen musste.

    Stichwort "character class"...

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)