函数以转义文本但允许某些标记

时间:2016-06-29 14:37:33

标签: javascript wordpress

我正在尝试创建一个在Wordpress自定义程序中使用的函数,该函数将对输入进行整形,但允许某些标记,例如<b>。这就是我到目前为止所做的:

function chase_sanitize_textarea( $text ) {
    return esc_textarea( $text );
}

我可以修改它以允许粗体/斜体标记等吗?

1 个答案:

答案 0 :(得分:0)

由于您正在使用wordpress功能,因此需要对其进行一些处理。我的方法是用关键字替换粗体和斜体标签,将其发送到esc_textarea,然后在返回后替换关键字。这可以通过strtr轻松完成。

function chase_sanitize_textarea( $text ) {
    $rep_array = array("<b>" => "[START_BOLD]", "</b>" => "[END_BOLD]", "<i>" => "[START_ITALIC]", "</i>" => "[END_ITALIC]"); //set array for tag/keyword switch
    $esc_textarea_value = esc_textarea( strtr($text,$rep_array) ); //replace each tag with its keyword and send to esc_textarea
    return strtr($esc_textarea_value,array_flip($rep_array)); //flip the tag/keyword array and replace the values
}