Hi Gero,
<P id="TEST">Hier kommt ein Beispieltext</p>
durch folgendes ersetzen:
Hier kommt ein Beispieltext<br />
[...]
$inhalt = preg_replace("<P>(.*)</P>", "$1<br />", $inhalt);
- Die Begrenzungszeichen (Delimiter) für den Ausdruck fehlen, oft verwendet man einen Slash.
* case-insensitiv
- Das Flag für case-insensitive ist „i“
- Flags setzt man hinter den schließenden Delimiter.
* Beliebig viele Attribute innerhalb von <P> sollen ebenfalls egal sein.
- Da kann dein Ausdruck gar nicht matchen, da müssen noch 2 Wildcards hinter das P, nämlich .*
Versuchs mal hiermit:
$text = '<P id="TEST">Beispieltext</P>';
$expr = '/<p.*>(.*)<\/p>/i';
$repl = preg_replace($expr, '$1<br />', $text);
Ich empfehle weiterhin dringend die Lektüre von mindestens http://de.selfhtml.org/perl/sprache/regexpr.htm.
Viele Grüße
Benjamin