When using shortcodes in WordPress like so:
[shortcode]
Content goes here...
[/shortcode]
And assuming that the shortcode wraps your content with another element, sort of like this:
function my_shortcode( $attr, $content )
{
return '<div class="my_shortcode">' . $content . '</div>';
}
add_shortcode('shortcode', 'my_shortcode');
The built-in WordPress wpautop
filter will add junk markup to your output:
<div class="my_shortcode">
</p>
<p>Content goes here...</p>
<p>
</div>
Adding copter_remove_crappy_markup()
to the shorcode will clean up the output:
function my_shortcode( $attr, $content )
{
$clean = copter_remove_crappy_markup($content);
return '<div class="my_shortcode">' . $clean . '</div>';
}
add_shortcode('shortcode', 'my_shortcode');
Resulting in:
<div class="my_shortcode">
<p>Content goes here...</p>
</div>
How did you create the pattern for the
<p>
tags, I would like to use this function but also includeI tried a regular regex pattern, doesn't work.
'#^\s*</p>#
equivelent for<br>