Strip HTML from trimmed body before it is trimmed Teaser display has been set to display "summary or trimmed" at 200 characters but the auto generated trimmed body comes through with image tags, links and all.

I have tried the following in THEME_preprocess_node, but it results in a short trimmed version as it counts the html as characters -> trims to 200 -> removes tags:

if(isset($variables['content']['body'][0]['#markup']) &amp;&amp; $variables['teaser']) {
    $variables['content']['body'][0]['#markup'] = strip_tags($variables['content']['body'][0]['#markup'], '&lt;p&gt; &lt;br&gt;');
}


This seems like surprising behavior, is trimmed not normally clean? PS this should ideally not be done in the template file.
You might want to take a look at the Smart Trim module. It gives all sorts of options for customizing trim functionality, including stripping HTML.