RegEx

Wie kann ich aus aus einem String die Phrase

[sc titel="Allgemeine Informationen" id="3"]Content[/sc]

erkennen und z.B. so ersetzen:
[HTML]Allgemeine InformationenContent[/HTML]

D.h. ich möchte die eckigen Klammern durch etwas eigenes ersetzen und den Inhalt von title in eine Variable bekommen.

Mein Ansatz:

\[sc(.*?)?\](?:(.+?)?\[\/sc\])?

Bin für jeden Tipp dankbar, der mich der Lösung etwas näher bringt…
Ich möchte in einem längeren Text eben alle Shortcodes durch den eigentichen HTML-Code ersetzen…

$suchmuster = '#\[sc(.*?)?\](?:(.*?)?\[\/sc\])?#s'; $ersetzung = 'Anfang $2 Ende'; $inhalt = preg_replace($suchmuster, $ersetzung, $inhalt);

Soweit würde das ja funktionieren. Allerdings habe ich ja in meiner ersten Variable schlicht alle Attribute als String. Ich brauche aber nur den Wert von „titel“; alle anderen Attribute werden entfernt.