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

preg_replace mit Zeilenumbrüchen

blabla333

Mitglied
Ich möchte gerne einen HTML-String in einen Shortcode umwandeln:

Code:
<section class="klasse"><header class="klasse2">
<h2>Ein_Titel</h2>
</header>
<div class="klasse3">
Inhalt
</div>
</section>

Daraus soll dann werden:

[sc titel="Ein_Titel"]Inhalt[/sc]

Blöderweise können (wie in dem Beispiel) die Tags durch Zeilenumbrüche "getrennt", so dass mein Code nicht funktioniert:

Code:
preg_replace('|<section class="klasse"><header class="klasse2"><h2>(.*)</h2></header><div class="klasse3">(.*)</div></section>|msU', "[sc titel=\"$1\"]$2[/sc]", $string);
 
Werbung:
hi,

versuchs mal damit!

PHP:
echo preg_replace('|<section class="klasse">[\s]*<header class="klasse2">[\s]*<h2>(.*)</h2>[\s]*</header>[\s]*<div class="klasse3"[\s]*>(.*)</div>[\s]*</section>|msU', "[sc titel=\"$1\"]$2[/sc]", $string);

Code:
[\s]*
beschreibt kein oder mehrere whitespace Zeichen egal ob \n >space< oder \t ...

falls zwischen tagname und attribute noch Zeilenumbrüche vorkommen können halt dort auch [\s]* einfügen

MfG Mario
 
Werbung:
Zurück
Oben