dedlfix: preg_replace etwas entfernen mit Außnahmen

Beitrag lesen

Tach!

Ich würde dir aber trotzdem dazu raten semantisches HTML zu verwenden, was spricht gegen
<p class=defalt><pre>Test Test Test</pre></p>
?

Die Validität. Nicht um der Validität willen, aber p kann auch in HTML5 nur mehr oder weniger Inline-Elemente (Phrasing content) enthalten. Das heißt, weil pre ein Block-Element ist, wird das p durch sein Auftauchen implizit geschlossen. Da steht dann also im Ergebnis ein leerer Absatz inklusive seiner (Default-)Abstände (abzüglich collapsing margins) und danach dann der präformatierte Block. In der Form gibt das also unnötige Folgeprobleme. Warum nicht gleich nur das p stylen?

Aber wenn man schon mit Stringverarbeitung darauf losgehen kann, dann ist es auch möglich, das <p durch <pre und </p> durch </pre> zu ersetzen (str_replace() und strtr() (zweite Variante) reichen dafür).

dedlfix.