WordPress拥有成千上万个各式插件和不计其数的主题模板样式 也有很多好的处理方法可使用
/** * Maps a function to all non-iterable elements of an array or an object. * * This is similar to `array_walk_recursive()` but acts upon objects too. * * @since 4.4.0 * * @param mixed $value The array, object, or scalar. * @param callable $callback The function to map onto $value. * @return mixed The value with the callback applied to all non-arrays and non-objects inside it. */ function map_deep( $value, $callback ) { if ( is_array( $value ) ) { foreach ( $value as $index => $item ) { $value[ $index ] = map_deep( $item, $callback ); } } elseif ( is_object( $value ) ) { $object_vars = get_object_vars( $value ); foreach ( $object_vars as $property_name => $property_value ) { $value->$property_name = map_deep( $property_value, $callback ); } } else { $value = call_user_func( $callback, $value ); } return $value; }
/** * Normalize EOL characters and strip duplicate whitespace. * * @since 2.7.0 * * @param string $str The string to normalize. * @return string The normalized string. */ function normalize_whitespace( $str ) { $str = trim( $str ); $str = str_replace( "r", "n", $str ); $str = preg_replace( array( '/n+/', '/[ t]+/' ), array( "n", ' ' ), $str ); return $str; }
/** * Properly strip all HTML tags including script and style * * This differs from strip_tags() because it removes the contents of * the `' )` * will return 'something'. wp_strip_all_tags will return '' * * @since 2.9.0 * * @param string $string String containing HTML tags * @param bool $remove_breaks Optional. Whether to remove left over line breaks and white space chars * @return string The processed string. */ function wp_strip_all_tags($string, $remove_breaks = false) { $string = preg_replace( '@<(script|style)[^>]*?>.*?\1>@si', '', $string ); $string = strip_tags($string); if ( $remove_breaks ) $string = preg_replace('/[rnt ]+/', ' ', $string); return trim( $string ); }
/** * Add slashes to a string or array of strings. * * This should be used when preparing data for core API that expects slashed data. * This should not be used to escape data going directly into an SQL query. * * @since 3.6.0 * * @param string|array $value String or array of strings to slash. * @return string|array Slashed $value */ function wp_slash( $value ) { if ( is_array( $value ) ) { foreach ( $value as $k => $v ) { if ( is_array( $v ) ) { $value[$k] = wp_slash( $v ); } else { $value[$k] = addslashes( $v ); } } } else { $value = addslashes( $value ); } return $value; }
/** * Adds slashes to escape strings. * * Slashes will first be removed if magic_quotes_gpc is set, see {@link * https://secure.php.net/magic_quotes} for more details. * * @since 0.71 * * @param string $gpc The string returned from HTTP request data. * @return string Returns a string escaped with slashes. */ function addslashes_gpc($gpc) { if ( get_magic_quotes_gpc() ) $gpc = stripslashes($gpc); return wp_slash($gpc); } /** * Navigates through an array, object, or scalar, and removes slashes from the values. * * @since 2.0.0 * * @param mixed $value The value to be stripped. * @return mixed Stripped value. */ function stripslashes_deep( $value ) { return map_deep( $value, 'stripslashes_from_strings_only' ); } /** * Callback function for `stripslashes_deep()` which strips slashes from strings. * * @since 4.4.0 * * @param mixed $value The array or string to be stripped. * @return mixed $value The stripped value. */ function stripslashes_from_strings_only( $value ) { return is_string( $value ) ? stripslashes( $value ) : $value; }
尊贵的董事大人
英文标题不为空时 视为本栏投稿
需要关键字 描述 英文标题