Ein bestimmtes Tag mit php aus einem String entfernen

Auf der Suche nach einer Lösung um ein bestimmtes Tag aus einem String zu entfernen (in meinem Fall ein span-Tag) bin ich auf den RegEx-Ausdruck von c.bavota gestoßen. Der Ausdruck ist schon ziemlich passend für meinen Zweck, allerdings entfernt dieser Ausdruck nur ein selbstschließendes Tag wie img. Ich wollte aber ein span-Tag (also öffnendes Tag und schließendes Tag) entfernen und zwar ohne den Inhalt dazwischen zu entfernen. Außerdem soll das öffnende Tag entfernt werden unabhängig davon ob es weitere Attribute aufweist oder nicht.

Ich bin zu folgendem RegEx-gekommen um dies zu erreichen:

<?php
$string
= 'Text mit <span style="font-size:14pt">span-Tags</span> <div class="preserve-others">die</div> entfernt <span>werden</span> sollen.';
$string = preg_replace("(</?span[^>]*\>)i", "", $string);

echo
$string; // Text ohne span-Tags
?>

Das sollte mit anderen Tags auch funktionieren in dem man den RegEx anpasst.

Tags: 

Neuen Kommentar schreiben

Filtered HTML

  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.