我有工作代码用于验证我的颜色选项。
if ( !function_exists( 'sanitize_hex_color' ) ) {
function sanitize_hex_color($color) {
if ( '' === $color )
return '';
// 3 or 6 hex digits, or the empty string.
if ( preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) )
return $color;
return null;
}
}
function validate_color_option($options){
//Check if hex color and sanitize
$options['wrapper_background_color'] = sanitize_hex_color($options['wrapper_background_color']);
$options['display_bg'] = sanitize_hex_color($options['display_bg']);
//Strips all html from input type text (NOT a color field)
$options['big_heading'] = wp_strip_all_tags($options['big_heading']);
return $options;
}//Function end
但是由于我会有很多色域,我想将我的颜色存储到数组中,做一个foreach循环并通过 sanitize_hex_color 函数验证我的颜色选项。像这样:
if ( !function_exists( 'sanitize_hex_color' ) ) {
function sanitize_hex_color($color) {
if ( '' === $color )
return '';
// 3 or 6 hex digits, or the empty string.
if ( preg_match('|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) )
return $color;
return null;
}
}
function validate_color_option($options){
$colors = array(
'color1' => $options['wrapper_background_color'],
'color2' => $options['display_bg']
);
foreach($colors as $key => $val) {
$colors[$key] = sanitize_hex_color($val);
}
//Strips all html from input type text (NOT a color field)
$options['big_heading'] = wp_strip_all_tags($options['big_heading']);
return $options;
}//Function end
说实话,我不知道如何使用foreach循环进行验证然后返回我的值:(你们可以帮助我吗?谢谢!!
答案 0 :(得分:0)
$colors = array(<colors>);
array_map("sanitize_hex_color", $colors);
它应返回每种颜色的结果数组。 然后你以某种方式进一步处理它。