我正在尝试创建一个在Wordpress自定义程序中使用的函数,该函数将对输入进行整形,但允许某些标记,例如<b>
。这就是我到目前为止所做的:
function chase_sanitize_textarea( $text ) {
return esc_textarea( $text );
}
我可以修改它以允许粗体/斜体标记等吗?
答案 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
}