我试图创建一个功能,在Wordpress客户端使用,将消毒输入,但允许某些标签,如<b>
。这是我目前所看到的:
function chase_sanitize_textarea( $text ) {
return esc_textarea( $text );
}
我是否可以修改它以允许加粗/斜体标签等?
因为你使用的是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
}