Alternative to esc_textarea

I need an alternative function to use with textareas in meta boxes instead of esc_textarea.

The problem is that when I use this function with textarea's it removes line breaks and paragraphs. Is there an alternative function that will keep the line breaks and paragraphs.

I have tried the validation reference page in the Codex but had no luck finding a function.

Topic esc-textarea validation metabox Wordpress

Category Web


Sorry for the delay but this was the solution I used. Thanks for the feedback.

$value = esc_html($value);
$value = html_entity_decode($value);

I think you can use wpautop before esc_textarea, like this:

echo esc_textarea( wpautop( $value ) );

esc_textarea shouldn't strip out newlines -- It's just a thin wrapper around htmlspecialchars: http://core.trac.wordpress.org/browser/tags/3.3.2/wp-includes/formatting.php#L2536

<?php
function esc_textarea( $text ) {
    $safe_text = htmlspecialchars( $text, ENT_QUOTES );
    return apply_filters( 'esc_textarea', $safe_text, $text );
}

That said, there are lots of options. What do you want your users to do have the ability to post? esc_html will escape all special characters (just like esc_textarea). esc_attr(strip_tags($stuff)); is a favorite combination of mine.

You should also have a look at the data validation page in the codex.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.