Php 如何清理自定义CSS而不破坏它?

Php 如何清理自定义CSS而不破坏它?,php,css,wordpress,Php,Css,Wordpress,在我的Wordpress主题中,我允许在主题定制器中以文本区域字段的形式输入自定义CSS 当然,我想对这个输入应用一些卫生设施,但是当我使用常规的esc_textarea时,它打破了一些包含符号的CSS规则,将这些符号转换为HTML实体 我的问题是,如何安全地对输入进行消毒,而不必在输入时更改CSS规则 if(!function_exists('psychic2016_add_customCSS')) { function psychic2016_add_customCSS() {

在我的Wordpress主题中,我允许在主题定制器中以文本区域字段的形式输入自定义CSS

当然,我想对这个输入应用一些卫生设施,但是当我使用常规的
esc_textarea
时,它打破了一些包含
符号的CSS规则,将这些符号转换为HTML实体

我的问题是,如何安全地对输入进行消毒,而不必在输入时更改CSS规则

if(!function_exists('psychic2016_add_customCSS')) {
    function psychic2016_add_customCSS() {
        echo '<style id="psychic2016-custom-css">'.esc_textarea(get_theme_mod('psychic2016_customCSS')).'</style>';
    }
}
add_action('wp_head', 'psychic2016_add_customCSS', 1000);
如果(!function_存在('componential_add_customCSS')){
函数名称(添加)(自定义CSS){
echo'.esc_textarea(获取主题修改('psychology2016_customCSS'))';
}
}
添加操作(“wp\U头”、“2016\U添加\U自定义”,1000);

Quickfix:Add
”.str\u replace(数组(“”)、数组(“>”、“
安全消毒
在使用
str\u replace(…、esc\u textar)之前,您始终可以先使用
strip\u tags()
‌ea
因为CSS中不允许使用HTML标记。文档说
对元素内部使用的文本进行编码。
所以你在错误的地方使用了这个函数。你必须自己清理。快速修复:添加
')、
安全清理
你可以首先使用
剥离标记()
在使用
str\u replace(…,esc\u textar)之前‌ea
因为CSS中不允许使用HTML标记。文档说
对元素内部使用的文本进行编码。
所以你在错误的地方使用了这个函数。你必须自己清理。