Hallo zusammen,
ich habe einen String
aus dem ich sämtlichen Whitespace, also Umbrüche und alle Leerzeichen zwischen > und <, entfernen möchte; wichtig dabei ist jedoch, dass alles zwischen <pre>-Tags unberücksichtigt bleibt.
Meine bisherigen Ansätze mittels preg_replace waren wenig erfolg-versprechend: ich weiß zwar, wie ich mittels RegEx die <pre>-Tags identifiziere. Jedoch hilft mir das nicht weiter, da ich es nicht hinbekomme, diese Tags unberücksichtigt zu lassen.
Oben genanntes identifiziert die <pre>s richtig, nun muss ich da nur noch den Whitespace rausbekommen.
Nach einiger Recherche bekomme ich zwar einige Ansätze, jedoch bleiben bei den Beispielen jedes Mal die <pre>-Tags berücksichtigt.
Vielleicht hat schon mal jemand etwas ähnliches gemacht oder hat eine Idee dazu.
Vielen Dank und beste Grüße,
Lars
ich habe einen String
PHP-Code:
$text = '
<html>
<head> </head>
<!--
entfernen
-->
<!--[if IE]>
nicht entfernen
<![endif]-->
<body>
Das ist nur ein Test<br />
<br />
<pre>Der Whitespace
hier
darf nicht entfernt werden.
</pre>
<pre class="test"> Test </pre>
</body>
</html>
';
Meine bisherigen Ansätze mittels preg_replace waren wenig erfolg-versprechend: ich weiß zwar, wie ich mittels RegEx die <pre>-Tags identifiziere. Jedoch hilft mir das nicht weiter, da ich es nicht hinbekomme, diese Tags unberücksichtigt zu lassen.
PHP-Code:
$text2 = preg_replace(
array(
'#(<pre.*>.*</pre>)#Us'
),
array(
'$1'
),
$text
);
Nach einiger Recherche bekomme ich zwar einige Ansätze, jedoch bleiben bei den Beispielen jedes Mal die <pre>-Tags berücksichtigt.
Vielleicht hat schon mal jemand etwas ähnliches gemacht oder hat eine Idee dazu.
Vielen Dank und beste Grüße,
Lars
Kommentar