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

Regex <p> Tags in bestimmtem Bereich entfernen

meme

Mitglied
Hallo,

Ich habe folgendes Beispiel

HTML:
<pre class="brush: php">
<p>
   <?php
      $foo = "bar";
    ?>
</p>
</pre>

Ich will nun die <p> Tags im Bereich von <pre class="brush: iwas"> und </pre> entfernen. Ich bin leider nicht sehr gut in Sachen Regex. Könnte mir jemand helfen? :-)
 
Werbung:
Ich empfehle, erstmal ein Array zu erzeugen, in dem alle relevanten Codeschnipsel zusammengetragen werden:
PHP:
preg_match_all('%<pre class="brush: php">.*?<p.*?>.*?</p>.*?</pre>%si', $subject, $result, PREG_PATTERN_ORDER);
$result = $result[0];
Diese kannst du dann jeweils aus dem Originalcode raussuchen und durch p-Tag-freie Versionen ersetzen. P-Tag-freie Versionen erzeugst du z.B. so:
PHP:
$code = preg_replace('%<(/{0,1})p>%si', "", $code);
(Geht nur, wenn die <p>-Tags keine weiteren Attribute enthalten.)
Das alles geht bestimmt auch einfacher ...
 
Zurück
Oben