Benjamin Wilfing: Regulärer Ausdruck, quasi "p2br"

Beitrag lesen

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