Alternative to esc_textarea

时间:2012-05-28 作者:Colin Murphy

我需要一个替代函数来使用meta框中的textareas,而不是esc\\u textarea。

问题是,当我将这个函数与textarea一起使用时,它会删除换行符和段落。是否有其他功能可以保持换行符和段落。

我尝试过Codex中的验证参考页,但没有找到函数。

3 个回复
SO网友:chrisguitarguy

esc_textarea 不应该删掉新词,这只是一个很薄的包装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 );
}
也就是说,有很多选择。您希望您的用户做什么才能发布?esc_html 将转义所有特殊字符(就像esc_textarea). esc_attr(strip_tags($stuff)); 是我最喜欢的组合。

您还应该看看data validation 抄本中的页码。

SO网友:Colin Murphy

很抱歉耽搁了,但这是我使用的解决方案。感谢您的反馈。

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

SO网友:Anh Tran

我想你可以用wpautop 之前esc_textarea, 像这样:

echo esc_textarea( wpautop( $value ) );

结束

相关推荐

如何在不破坏TinyMCE的情况下在metabox帖子页面上使用媒体上传?

我使用以下代码在帖子或页面管理部分的多个mextabox中上传。适用于元盒,但会打断TinyMCE插入图像。我想知道我怎样才能做到这一点,而又不致于打破僵局。当我覆盖窗口时,问题就出现了。send\\u to\\u editor函数。jQuery(document).ready(function() { jQuery(\'.st_upload_button\').click(function() { targetfield = jQuery(this).prev(