2010-12-19 11 views
10

Ich habe strip_tags verwendet, um HTML-Tags aus dem Text zu entfernen.Problem mit strip_tags in PHP

Beispiel

<h1>title of article</h1><div class="body">The content goes here......</div> 

outputs 

title of articleThe content goes here...... 

Wenn Sie die Ausgabe Titel und Körper sehen verbunden sind (articleThe). Ich möchte ein Leerzeichen einfügen, wenn das Tag entfernt wurde. Ist das möglich.

Ich schätze jede Hilfe.

Danke.

Antwort

20

Wenn alles, was Sie wollen, ist einen Raum, um in dem ein Starttag direkt einen schließenden Tag folgt, können Sie dies tun:

$html = preg_replace('/(<\/[^>]+?>)(<[^>\/][^>]*?>)/', '$1 $2', $html); 
$html = strip_tags($html); 
+0

Excellent. Löste mein Problem – Thomas

+0

Beachten Sie, dass dies in z. 'hoch beleuchtet '. – Yogu

+0

@Yogu nein, tut es nicht: https://regex101.com/r/dK0aJ4/1 –