• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zwei Preg-replace kombinieren

blabla333

Mitglied
Ich stehe gerade auf dem Schlauch. Wie kann ich diese beiden Abfragen kombinieren?

Code:
$data = preg_replace('|<div class="klasse"><h3>(.*)</h3>(.*)</div>|msU', "[sc titel=\"$1\"]$2[/sc]\n", $data);
    $data = preg_replace('|<div class="klasse">(.*)</div>|msU', "[sc]$1[/sc]\n", $data);

Das muss doch ganz simpel umsetzbar sein. Und eigentlich doch auch in einer Zeile, oder?
Es geht darum, dass in dem String ein Titel vorhanden sein kann oder nicht (h3). Ist dieser Vorhanden, so wird er als Attribut im Shortcode angegeben, wenn nicht dann logischerweise nicht.

Und ein weiteres Problemchen:
Es soll überprüft werden, ob innerhalb eines Tags ein weiterer Tag vorkommt:
Code:
$string = '[sc_a klasse="irgendwas"]Inhalt[sc_b]Zweiter Inhalt[/sc_b][/sc_a]';
In diesem Fall enthält der Shortcode sc_a einen weiteren Shortcode sc_b; dann soll sc_a noch ein weiteres Attribut erhalten, d.h. daraus soll dann werden:
Code:
[sc_a attribut="vorhanden" klasse="irgendwas"]Inhalt[sc_b]Zweiter Inhalt[/sc_b][/sc_a]

Wäre der zweite Shortcode nicht enthalten, so würde sich der String nicht ändern.

Diese regulären Ausdrücke machen mich noch wahnsinnig!
 
Zuletzt bearbeitet:
Werbung:
Zurück
Oben