| 2436 | * Escape a color represented in hexadecimal notation for use in css. |
| 2437 | * |
| 2438 | * @param string $color RGB color represented in hexadecimal notation. |
| 2439 | * @return string The value of $color if it is a color represented in hexadecimal notation prepended with the hash (#) character; The string 'transparent' otherwise. |
| 2440 | * |
| 2441 | * @since 3.4 |
| 2442 | */ |
| 2443 | function sanitize_color_hex( $color ) { |
| 2444 | $color = sanitize_color_hex_raw( $color ); |
| 2445 | if ( 'transparent' != $color ) |
| 2446 | $color = '#' . $color; |
| 2447 | return $color; |
| 2448 | } |
| 2449 | |
| 2450 | /** |
| 2451 | * Escape a color represented in hexadecimal notation for database saves. |
| 2452 | * |
| 2453 | * @param string $color RGB color represented in hexadecimal notation. |
| 2454 | * @return string The value of $color if it is a color represented in hexadecimal notation; The string 'transparent' otherwise. |
| 2455 | * |
| 2456 | * @since 3.4 |
| 2457 | */ |
| 2458 | function sanitize_color_hex_raw( $color ) { |
| 2459 | $default = 'transparent'; |
| 2460 | $color = trim( strtolower( urldecode( $color ) ), "# \t\n\r\0\x0B" ); |
| 2461 | |
| 2462 | if ( ! in_array( strlen( $color ), array( 3, 6 ) ) ) |
| 2463 | return $default; |
| 2464 | |
| 2465 | if ( ! preg_match( "/(([a-f0-9]){3}){1,2}$/i", $color ) ) |
| 2466 | return $default; |
| 2467 | |
| 2468 | return $color; |
| 2469 | } |
| 2470 | |
| 2471 | /** |