> ja <> poistetaan, <> ja < * muunnetaan oikeaksi XHTML- ja Unicode-merkit muunnetaan * voimassa oleva alue. * * @alkaen 0.71 * * @param string $content Muunnettavien merkkijono. * @param string $deprecated Ei käytössä. * @return string Muunnettu (2023)

'. trimma($tinkle, "\n") . "

\s*(?' . $allblocks . '[^>]*>)\s*

|", "$1", $pee); // sisäkkäisten luetteloiden ongelma$pee = preg_replace('|
]*)>|i', "

", $pissa);$pissa = str_replace('

','
', $pissa);$pissa = preg_replace('!

\s*(?' . $allblocks . '[^>]*>)!', "$1", $pee);$pee = preg_replace('!(?' . $allblocks . '[^>]*> )\s*

!', "$1", $pee);if ($br) {$pee = preg_replace_callback('/<(script|style).*?<\/\\1>/s', '_autop_newline_preservation_helper', $pissa );$pissa = preg_replace('|(?<!
)\s*\n|', "
\n", $pee); // vaihtoehtoisesti tehdä rivinvaihtoja$pee = str_replace('', "\n", $pee);}$pissa = preg_replace('!(?' . $allblocks . '[^>]*>)\s*
!', "$1", $pissa);$pissa = preg_replace('!
(\s*?(?:p|li|div|dl|dd|dt|th|pre|td|ul|ol)[^>]*>)!', '$1', $pissa);if ( strpos($pissa, '
]*>)(.*?)
!is', 'clean_pre', $pee );$pee = preg_replace( "|\n$|", '', $pee );return $pee;}/** * Uusi rivin säilyttämisen ohjetoiminto wpautopille * * @ alkaen 3.1.0 * @access yksityinen * @param array $matches preg_replace_callback vastaa taulukkoa * @returns string */function _autop_newline_preservation_helper( $matches ) {return str_replace("\n", "", $matches[0]);}/** * Älä rivitä itsenäisiä lyhytkoodeja automaattisesti * * Varmistaa, että lyhytkoodeja ei kääritä <

>...<

>. * * @alkaen 2.9.0 * * @param string $pee Sisältö. * @return string Suodatettu sisältö. */function shortcode_unautop( $pee ) {globaali $shortcode_tags;if ( tyhjä( $shortcode_tags ) || !is_array( $shortcode_tags ) ) {return $pee;}$tagregexp = join( '|', array_map( 'preg_quote' array_keys( $shortcode_tags ) ) );$pattern = '/'. '

' // Opening paragraph. '\\s*+' // Optional leading whitespace. '(' // 1: The shortcode. '\\[' // Opening bracket. "($tagregexp)" // 2: Shortcode name. '\\b' // Word boundary // Unroll the loop: Inside the opening shortcode tag. '[^\\]\\/]*' // Not a closing bracket or forward slash. '(?:'. '\\/(?!\\])' // A forward slash not followed by a closing bracket. '[^\\]\\/]*' // Not a closing bracket or forward slash. ')*?'. '(?:'. '\\/\\]' // Self closing tag and closing bracket. '|'. '\\]' // Closing bracket. '(?:' // Unroll the loop: Optionally, anything between the opening and closing shortcode tags. '[^\\[]*+' // Not an opening bracket. '(?:'. '\\[(?!\\/\\2\\])' // An opening bracket not followed by the closing shortcode tag. '[^\\[]*+' // Not an opening bracket. ')*+'. '\\[\\/\\2\\]' // Closing shortcode tag. ')?'. ')'. ')'. '\\s*+' // optional trailing whitespace. '<\\/p>' // closing paragraph. '/s';return preg_replace( $pattern, '$1', $pee );}/** * Checks to see if a string is utf8 encoded. * * NOTE: This function checks for 5-Byte sequences, UTF8 * has Bytes Sequences with a maximum length of 4. * * @author bmorel at ssi dot fr (modified) * @since 1.2.1 * * @param string $str The string to be checked * @return bool True if $str fits a UTF-8 model, false otherwise. */function seems_utf8($str) {$length = strlen($str);for ($i=0; $i < $length; $i++) {$c = ord($str[$i]);if ($c < 0x80) $n = 0; # 0bbbbbbbelseif (($c & 0xE0) == 0xC0) $n=1; # 110bbbbbelseif (($c & 0xF0) == 0xE0) $n=2; # 1110bbbbelseif (($c & 0xF8) == 0xF0) $n=3; # 11110bbbelseif (($c & 0xFC) == 0xF8) $n=4; # 111110bbelseif (($c & 0xFE) == 0xFC) $n=5; # 1111110belse return false; # Does not match any modelfor ($j=0; $j<$n; $j++) { # n bytes matching 10bbbbbb follow ?if ((++$i == $length) || ((ord($str[$i]) & 0xC0) != 0x80))return false;}}return true;}/** * Converts a number of special characters into their HTML entities. * * Specifically deals with: &, <, >, ", and '. * * $quote_style can be set to ENT_COMPAT to encode " to * ", or ENT_QUOTES to do both. Default is ENT_NOQUOTES where no quotes are encoded. * * @since 1.2.2 * * @param string $string The text which is to be encoded. * @param mixed $quote_style Optional. Converts double quotes if set to ENT_COMPAT, both single and double if set to ENT_QUOTES or none if set to ENT_NOQUOTES. Also compatible with old values; converting single quotes if set to 'single', double if set to 'double' or both if otherwise set. Default is ENT_NOQUOTES. * @param string $charset Optional. The character encoding of the string. Default is false. * @param boolean $double_encode Optional. Whether to encode existing html entities. Default is false. * @return string The encoded text with HTML entities. */function _wp_specialchars( $string, $quote_style = ENT_NOQUOTES, $charset = false, $double_encode = false ) {$string = (string) $string;if ( 0 === strlen( $string ) )return '';// Don't bother if there are no specialchars - saves some processingif ( ! preg_match( '/[&<>"\']/', $string ) )return $string;// Account for the previous behaviour of the function when the $quote_style is not an accepted valueif ( empty( $quote_style ) )$quote_style = ENT_NOQUOTES;elseif ( ! in_array( $quote_style, array( 0, 2, 3, 'single', 'double' ), true ) )$quote_style = ENT_QUOTES;// Store the site charset as a static to avoid multiple calls to wp_load_alloptions()if ( ! $charset ) {static $_charset;if ( ! isset( $_charset ) ) {$alloptions = wp_load_alloptions();$_charset = isset( $alloptions['blog_charset'] ) ? $alloptions['blog_charset'] : '';}$charset = $_charset;}if ( in_array( $charset, array( 'utf8', 'utf-8', 'UTF8' ) ) )$charset = 'UTF-8';$_quote_style = $quote_style;if ( $quote_style === 'double' ) {$quote_style = ENT_COMPAT;$_quote_style = ENT_COMPAT;} elseif ( $quote_style === 'single' ) {$quote_style = ENT_NOQUOTES;}// Handle double encoding ourselvesif ( $double_encode ) {$string = @htmlspecialchars( $string, $quote_style, $charset );} else {// Decode & into &$string = wp_specialchars_decode( $string, $_quote_style );// Guarantee every &entity; is valid or re-encode the &$string = wp_kses_normalize_entities( $string );// Now re-encode everything except &entity;$string = preg_split( '/(?x?[0-9a-z]+;)/i', $string, -1, PREG_SPLIT_DELIM_CAPTURE );for ( $i = 0; $i < count( $string ); $i += 2 )$string[$i] = @htmlspecialchars( $string[$i], $quote_style, $charset );$string = implode( '', $string );}// Backwards compatibilityif ( 'single' === $_quote_style )$string = str_replace( "'", ''', $string );return $string;}/** * Converts a number of HTML entities into their special characters. * * Specifically deals with: &, <, >, ", and '. * * $quote_style can be set to ENT_COMPAT to decode " entities, * or ENT_QUOTES to do both " and '. Default is ENT_NOQUOTES where no quotes are decoded. * * @since 2.8 * * @param string $string The text which is to be decoded. * @param mixed $quote_style Optional. Converts double quotes if set to ENT_COMPAT, both single and double if set to ENT_QUOTES or none if set to ENT_NOQUOTES. Also compatible with old _wp_specialchars() values; converting single quotes if set to 'single', double if set to 'double' or both if otherwise set. Default is ENT_NOQUOTES. * @return string The decoded text without HTML entities. */function wp_specialchars_decode( $string, $quote_style = ENT_NOQUOTES ) {$string = (string) $string;if ( 0 === strlen( $string ) ) {return '';}// Don't bother if there are no entities - saves a lot of processingif ( strpos( $string, '&' ) === false ) {return $string;}// Match the previous behaviour of _wp_specialchars() when the $quote_style is not an accepted valueif ( empty( $quote_style ) ) {$quote_style = ENT_NOQUOTES;} elseif ( !in_array( $quote_style, array( 0, 2, 3, 'single', 'double' ), true ) ) {$quote_style = ENT_QUOTES;}// More complete than get_html_translation_table( HTML_SPECIALCHARS )$single = array( ''' => '\'', ''' => '\'' );$single_preg = array( '/*39;/' => ''', '/*27;/i' => ''' );$double = array( '"' => '"', '"' => '"', '"' => '"' );$double_preg = array( '/*34;/' => '"', '/*22;/i' => '"' );$others = array( '<' => '<', '<' => '<', '>' => '>', '>' => '>', '&' => '&', '&' => '&', '&' => '&' );$others_preg = array( '/*60;/' => '<', '/*62;/' => '>', '/*38;/' => '&', '/*26;/i' => '&' );if ( $quote_style === ENT_QUOTES ) {$translation = array_merge( $single, $double, $others );$translation_preg = array_merge( $single_preg, $double_preg, $others_preg );} elseif ( $quote_style === ENT_COMPAT || $quote_style === 'double' ) {$translation = array_merge( $double, $others );$translation_preg = array_merge( $double_preg, $others_preg );} elseif ( $quote_style === 'single' ) {$translation = array_merge( $single, $others );$translation_preg = array_merge( $single_preg, $others_preg );} elseif ( $quote_style === ENT_NOQUOTES ) {$translation = $others;$translation_preg = $others_preg;}// Remove zero padding on numeric entities$string = preg_replace( array_keys( $translation_preg ), array_values( $translation_preg ), $string );// Replace characters according to translation tablereturn strtr( $string, $translation );}/** * Checks for invalid UTF8 in a string. * * @since 2.8 * * @param string $string The text which is to be checked. * @param boolean $strip Optional. Whether to attempt to strip out invalid UTF8. Default is false. * @return string The checked text. */function wp_check_invalid_utf8( $string, $strip = false ) {$string = (string) $string;if ( 0 === strlen( $string ) ) {return '';}// Store the site charset as a static to avoid multiple calls to get_option()static $is_utf8;if ( !isset( $is_utf8 ) ) {$is_utf8 = in_array( get_option( 'blog_charset' ), array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) );}if ( !$is_utf8 ) {return $string;}// Check for support for utf8 in the installed PCRE library once and store the result in a staticstatic $utf8_pcre;if ( !isset( $utf8_pcre ) ) {$utf8_pcre = @preg_match( '/^./u', 'a' );}// We can't demand utf8 in the PCRE installation, so just return the string in those casesif ( !$utf8_pcre ) {return $string;}// preg_match fails when it encounters invalid UTF8 in $stringif ( 1 === @preg_match( '/^./us', $string ) ) {return $string;}// Attempt to strip the bad chars if requested (not recommended)if ( $strip && function_exists( 'iconv' ) ) {return iconv( 'utf-8', 'utf-8', $string );}return '';}/** * Encode the Unicode values to be used in the URI. * * @since 1.5.0 * * @param string $utf8_string * @param int $length Max length of the string * @return string String with Unicode encoded for URI. */function utf8_uri_encode( $utf8_string, $length = 0 ) {$unicode = '';$values = array();$num_octets = 1;$unicode_length = 0;$string_length = strlen( $utf8_string );for ($i = 0; $i < $string_length; $i++ ) {$value = ord( $utf8_string[ $i ] );if ( $value < 128 ) {if ( $length && ( $unicode_length >= $length ) )break;$unicode .= chr($value);$unicode_length++;} else {if ( count( $values ) == 0 ) $num_octets = ( $value < 224 ) ? 2 : 3;$values[] = $value;if ( $length && ( $unicode_length + ($num_octets * 3) ) > $length )break;if ( count( $values ) == $num_octets ) {if ($num_octets == 3) {$unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]) . '%' . dechex($values[2]);$unicode_length += 9;} else {$unicode .= '%' . dechex($values[0]) . '%' . dechex($values[1]);$unicode_length += 6;}$values = array();$num_octets = 1;}}}return $unicode;}/** * Converts all accent characters to ASCII characters. * * If there are no accent characters, then the string given is just returned. * * @since 1.2.1 * * @param string $string Text that might have accent characters * @return string Filtered string with replaced "nice" characters. */function remove_accents($string) {if ( !preg_match('/[\x80-\xff]/', $string) )return $string;if (seems_utf8($string)) {$chars = array(// Decompositions for Latin-1 Supplementchr(194).chr(170) => 'a', chr(194).chr(186) => 'o',chr(195).chr(128) => 'A', chr(195).chr(129) => 'A',chr(195).chr(130) => 'A', chr(195).chr(131) => 'A',chr(195).chr(132) => 'A', chr(195).chr(133) => 'A',chr(195).chr(134) => 'AE',chr(195).chr(135) => 'C',chr(195).chr(136) => 'E', chr(195).chr(137) => 'E',chr(195).chr(138) => 'E', chr(195).chr(139) => 'E',chr(195).chr(140) => 'I', chr(195).chr(141) => 'I',chr(195).chr(142) => 'I', chr(195).chr(143) => 'I',chr(195).chr(144) => 'D', chr(195).chr(145) => 'N',chr(195).chr(146) => 'O', chr(195).chr(147) => 'O',chr(195).chr(148) => 'O', chr(195).chr(149) => 'O',chr(195).chr(150) => 'O', chr(195).chr(153) => 'U',chr(195).chr(154) => 'U', chr(195).chr(155) => 'U',chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y',chr(195).chr(158) => 'TH',chr(195).chr(159) => 's',chr(195).chr(160) => 'a', chr(195).chr(161) => 'a',chr(195).chr(162) => 'a', chr(195).chr(163) => 'a',chr(195).chr(164) => 'a', chr(195).chr(165) => 'a',chr(195).chr(166) => 'ae',chr(195).chr(167) => 'c',chr(195).chr(168) => 'e', chr(195).chr(169) => 'e',chr(195).chr(170) => 'e', chr(195).chr(171) => 'e',chr(195).chr(172) => 'i', chr(195).chr(173) => 'i',chr(195).chr(174) => 'i', chr(195).chr(175) => 'i',chr(195).chr(176) => 'd', chr(195).chr(177) => 'n',chr(195).chr(178) => 'o', chr(195).chr(179) => 'o',chr(195).chr(180) => 'o', chr(195).chr(181) => 'o',chr(195).chr(182) => 'o', chr(195).chr(184) => 'o',chr(195).chr(185) => 'u', chr(195).chr(186) => 'u',chr(195).chr(187) => 'u', chr(195).chr(188) => 'u',chr(195).chr(189) => 'y', chr(195).chr(190) => 'th',chr(195).chr(191) => 'y', chr(195).chr(152) => 'O',// Decompositions for Latin Extended-Achr(196).chr(128) => 'A', chr(196).chr(129) => 'a',chr(196).chr(130) => 'A', chr(196).chr(131) => 'a',chr(196).chr(132) => 'A', chr(196).chr(133) => 'a',chr(196).chr(134) => 'C', chr(196).chr(135) => 'c',chr(196).chr(136) => 'C', chr(196).chr(137) => 'c',chr(196).chr(138) => 'C', chr(196).chr(139) => 'c',chr(196).chr(140) => 'C', chr(196).chr(141) => 'c',chr(196).chr(142) => 'D', chr(196).chr(143) => 'd',chr(196).chr(144) => 'D', chr(196).chr(145) => 'd',chr(196).chr(146) => 'E', chr(196).chr(147) => 'e',chr(196).chr(148) => 'E', chr(196).chr(149) => 'e',chr(196).chr(150) => 'E', chr(196).chr(151) => 'e',chr(196).chr(152) => 'E', chr(196).chr(153) => 'e',chr(196).chr(154) => 'E', chr(196).chr(155) => 'e',chr(196).chr(156) => 'G', chr(196).chr(157) => 'g',chr(196).chr(158) => 'G', chr(196).chr(159) => 'g',chr(196).chr(160) => 'G', chr(196).chr(161) => 'g',chr(196).chr(162) => 'G', chr(196).chr(163) => 'g',chr(196).chr(164) => 'H', chr(196).chr(165) => 'h',chr(196).chr(166) => 'H', chr(196).chr(167) => 'h',chr(196).chr(168) => 'I', chr(196).chr(169) => 'i',chr(196).chr(170) => 'I', chr(196).chr(171) => 'i',chr(196).chr(172) => 'I', chr(196).chr(173) => 'i',chr(196).chr(174) => 'I', chr(196).chr(175) => 'i',chr(196).chr(176) => 'I', chr(196).chr(177) => 'i',chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij',chr(196).chr(180) => 'J', chr(196).chr(181) => 'j',chr(196).chr(182) => 'K', chr(196).chr(183) => 'k',chr(196).chr(184) => 'k', chr(196).chr(185) => 'L',chr(196).chr(186) => 'l', chr(196).chr(187) => 'L',chr(196).chr(188) => 'l', chr(196).chr(189) => 'L',chr(196).chr(190) => 'l', chr(196).chr(191) => 'L',chr(197).chr(128) => 'l', chr(197).chr(129) => 'L',chr(197).chr(130) => 'l', chr(197).chr(131) => 'N',chr(197).chr(132) => 'n', chr(197).chr(133) => 'N',chr(197).chr(134) => 'n', chr(197).chr(135) => 'N',chr(197).chr(136) => 'n', chr(197).chr(137) => 'N',chr(197).chr(138) => 'n', chr(197).chr(139) => 'N',chr(197).chr(140) => 'O', chr(197).chr(141) => 'o',chr(197).chr(142) => 'O', chr(197).chr(143) => 'o',chr(197).chr(144) => 'O', chr(197).chr(145) => 'o',chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe',chr(197).chr(148) => 'R',chr(197).chr(149) => 'r',chr(197).chr(150) => 'R',chr(197).chr(151) => 'r',chr(197).chr(152) => 'R',chr(197).chr(153) => 'r',chr(197).chr(154) => 'S',chr(197).chr(155) => 's',chr(197).chr(156) => 'S',chr(197).chr(157) => 's',chr(197).chr(158) => 'S',chr(197).chr(159) => 's',chr(197).chr(160) => 'S', chr(197).chr(161) => 's',chr(197).chr(162) => 'T', chr(197).chr(163) => 't',chr(197).chr(164) => 'T', chr(197).chr(165) => 't',chr(197).chr(166) => 'T', chr(197).chr(167) => 't',chr(197).chr(168) => 'U', chr(197).chr(169) => 'u',chr(197).chr(170) => 'U', chr(197).chr(171) => 'u',chr(197).chr(172) => 'U', chr(197).chr(173) => 'u',chr(197).chr(174) => 'U', chr(197).chr(175) => 'u',chr(197).chr(176) => 'U', chr(197).chr(177) => 'u',chr(197).chr(178) => 'U', chr(197).chr(179) => 'u',chr(197).chr(180) => 'W', chr(197).chr(181) => 'w',chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y',chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z',chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z',chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z',chr(197).chr(190) => 'z', chr(197).chr(191) => 's',// Decompositions for Latin Extended-Bchr(200).chr(152) => 'S', chr(200).chr(153) => 's',chr(200).chr(154) => 'T', chr(200).chr(155) => 't',// Euro Signchr(226).chr(130).chr(172) => 'E',// GBP (Pound) Signchr(194).chr(163) => '');$string = strtr($string, $chars);} else {// Assume ISO-8859-1 if not UTF-8$chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158).chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194).chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202).chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210).chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218).chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227).chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235).chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243).chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251).chr(252).chr(253).chr(255);$chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy";$string = strtr($string, $chars['in'], $chars['out']);$double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254));$double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th');$string = str_replace($double_chars['in'], $double_chars['out'], $string);}return $string;}/** * Sanitizes a filename replacing whitespace with dashes * * Removes special characters that are illegal in filenames on certain * operating systems and special characters requiring special escaping * to manipulate at the command line. Replaces spaces and consecutive * dashes with a single dash. Trim period, dash and underscore from beginning * and end of filename. * * @since 2.1.0 * * @param string $filename The filename to be sanitized * @return string The sanitized filename */function sanitize_file_name( $filename ) {$filename_raw = $filename;$special_chars = array("?", "[", "]", "/", "\\", "=", "<", ">", ":", ";", ",", "'", "\"", "&", "$", "#", "*", "(", ")", "|", "~", "`", "!", "{", "}", chr(0));$special_chars = apply_filters('sanitize_file_name_chars', $special_chars, $filename_raw);$filename = str_replace($special_chars, '', $filename);$filename = preg_replace('/[\s-]+/', '-', $filename);$filename = trim($filename, '.-_');// Split the filename into a base and extension[s]$parts = explode('.', $filename);// Return if only one extensionif ( count($parts) <= 2 )return apply_filters('sanitize_file_name', $filename, $filename_raw);// Process multiple extensions$filename = array_shift($parts);$extension = array_pop($parts);$mimes = get_allowed_mime_types();// Loop over any intermediate extensions. Munge them with a trailing underscore if they are a 2 - 5 character// long alpha string not in the extension whitelist.foreach ( (array) $parts as $part) {$filename .= '.' . $part;if ( preg_match("/^[a-zA-Z]{2,5}\d?$/", $part) ) {$allowed = false;foreach ( $mimes as $ext_preg => $mime_match ) {$ext_preg = '!^(' . $ext_preg . ')$!i';if ( preg_match( $ext_preg, $part ) ) {$allowed = true;break;}}if ( !$allowed )$filename .= '_';}}$filename .= '.' . $extension;return apply_filters('sanitize_file_name', $filename, $filename_raw);}/** * Sanitize username stripping out unsafe characters. * * Removes tags, octets, entities, and if strict is enabled, will only keep * alphanumeric, _, space, ., -, @. After sanitizing, it passes the username, * raw username (the username in the parameter), and the value of $strict as * parameters for the 'sanitize_user' filter. * * @since 2.0.0 * @uses apply_filters() Calls 'sanitize_user' hook on username, raw username, *and $strict parameter. * * @param string $username The username to be sanitized. * @param bool $strict If set limits $username to specific characters. Default false. * @return string The sanitized username, after passing through filters. */function sanitize_user( $username, $strict = false ) {$raw_username = $username;$username = wp_strip_all_tags( $username );$username = remove_accents( $username );// Kill octets$username = preg_replace( '|%([a-fA-F0-9][a-fA-F0-9])|', '', $username );$username = preg_replace( '/&.+?;/', '', $username ); // Kill entities// If strict, reduce to ASCII for max portability.if ( $strict )$username = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $username );$username = trim( $username );// Consolidate contiguous whitespace$username = preg_replace( '|\s+|', ' ', $username );return apply_filters( 'sanitize_user', $username, $raw_username, $strict );}/** * Sanitize a string key. * * Keys are used as internal identifiers. Lowercase alphanumeric characters, dashes and underscores are allowed. * * @since 3.0.0 * * @param string $key String key * @return string Sanitized key */function sanitize_key( $key ) {$raw_key = $key;$key = strtolower( $key );$key = preg_replace( '/[^a-z0-9_\-]/', '', $key );return apply_filters( 'sanitize_key', $key, $raw_key );}/** * Sanitizes title or use fallback title. * * Specifically, HTML and PHP tags are stripped. Further actions can be added * via the plugin API. If $title is empty and $fallback_title is set, the latter * will be used. * * @since 1.0.0 * * @param string $title The string to be sanitized. * @param string $fallback_title Optional. A title to use if $title is empty. * @param string $context Optional. The operation for which the string is sanitized * @return string The sanitized string. */function sanitize_title($title, $fallback_title = '', $context = 'save') {$raw_title = $title;if ( 'save' == $context )$title = remove_accents($title);$title = apply_filters('sanitize_title', $title, $raw_title, $context);if ( '' === $title || false === $title )$title = $fallback_title;return $title;}function sanitize_title_for_query($title) {return sanitize_title($title, '', 'query');}/** * Sanitizes title, replacing whitespace and a few other characters with dashes. * * Limits the output to alphanumeric characters, underscore (_) and dash (-). * Whitespace becomes a dash. * * @since 1.2.0 * * @param string $title The title to be sanitized. * @param string $raw_title Optional. Not used. * @param string $context Optional. The operation for which the string is sanitized. * @return string The sanitized title. */function sanitize_title_with_dashes($title, $raw_title = '', $context = 'display') {$title = strip_tags($title);// Preserve escaped octets.$title = preg_replace('|%([a-fA-F0-9][a-fA-F0-9])|', '---$1---', $title);// Remove percent signs that are not part of an octet.$title = str_replace('%', '', $title);// Restore octets.$title = preg_replace('|---([a-fA-F0-9][a-fA-F0-9])---|', '%$1', $title);if (seems_utf8($title)) {if (function_exists('mb_strtolower')) {$title = mb_strtolower($title, 'UTF-8');}$title = utf8_uri_encode($title, 200);}$title = strtolower($title);$title = preg_replace('/&.+?;/', '', $title); // kill entities$title = str_replace('.', '-', $title);if ( 'save' == $context ) {// nbsp, ndash and mdash$title = str_replace( array( '%c2%a0', '%e2%80%93', '%e2%80%94' ), '-', $title );// iexcl and iquest$title = str_replace( array( '%c2%a1', '%c2%bf' ), '', $title );// angle quotes$title = str_replace( array( '%c2%ab', '%c2%bb', '%e2%80%b9', '%e2%80%ba' ), '', $title );// curly quotes$title = str_replace( array( '%e2%80%98', '%e2%80%99', '%e2%80%9c', '%e2%80%9d' ), '', $title );// copy, reg, deg, hellip and trade$title = str_replace( array( '%c2%a9', '%c2%ae', '%c2%b0', '%e2%80%a6', '%e2%84%a2' ), '', $title );}$title = preg_replace('/[^%a-z0-9 _-]/', '', $title);$title = preg_replace('/\s+/', '-', $title);$title = preg_replace('|-+|', '-', $title);$title = trim($title, '-');return $title;}/** * Ensures a string is a valid SQL order by clause. * * Accepts one or more columns, with or without ASC/DESC, and also accepts * RAND(). * * @since 2.5.1 * * @param string $orderby Order by string to be checked. * @return string|false Returns the order by clause if it is a match, false otherwise. */function sanitize_sql_orderby( $orderby ){preg_match('/^\s*([a-z0-9_]+(\s+(ASC|DESC))?(\s*,\s*|\s*$))+|^\s*RAND\(\s*\)\s*$/i', $orderby, $obmatches);if ( !$obmatches )return false;return $orderby;}/** * Santizes a html classname to ensure it only contains valid characters * * Strips the string down to A-Z,a-z,0-9,_,-. If this results in an empty * string then it will return the alternative value supplied. * * @todo Expand to support the full range of CDATA that a class attribute can contain. * * @since 2.8.0 * * @param string $class The classname to be sanitized * @param string $fallback Optional. The value to return if the sanitization end's up as an empty string. * Defaults to an empty string. * @return string The sanitized value */function sanitize_html_class( $class, $fallback = '' ) {//Strip out any % encoded octets$sanitized = preg_replace( '|%[a-fA-F0-9][a-fA-F0-9]|', '', $class );//Limit to A-Z,a-z,0-9,_,-$sanitized = preg_replace( '/[^A-Za-z0-9_-]/', '', $sanitized );if ( '' == $sanitized )$sanitized = $fallback;return apply_filters( 'sanitize_html_class', $sanitized, $class, $fallback );}/** * Converts a number of characters from a string. * * Metadata tags <

> ja <<category>> poistetaan, <<br>> ja <> muunnetaan * oikeaksi XHTML:ksi ja Unicode-merkit muunnetaan * kelvolliseen alueeseen. * * @alkaen 0.71 * * @param string $content Muunnettavien merkkijono. * @param string $deprecated Ei käytössä. * @return string Muunnettu merkkijono. */function convert_chars($content, $deprecated = '') {if ( !empty( $deprecated ) )_deprecated_argument( __FUNCTION__, '0.71' );// Virheellisen Unicode-viittausalueen käännös kelvolliseen alueeseen$wp_htmltranswinuni = array(' ' => '€', // euromerkki'' => '','' => '‚', // nämä ovat Windows CP1252 -kohtaisia ​​merkkejä'' => 'ƒ', // ne näyttäisi oudolta muissa kuin Windows-selaimissa'' => '„','' => '…','' => '†','' => '‡','' => 'ˆ ','' => '‰','' => 'Š','' => '‹','' => 'Œ','' => '','' = > 'ž','' => '','' => '','' => ''','' => ''','' => '"',' ' => '"','' => '•','' => '-','' => '-','' => '˜','' => '™ ','' => 'š','' => '›','' => 'œ','' => '','' => '','' => 'Ÿ');// Poista metatietotunnisteet$content = preg_replace('/<title>(.+?)<\/title>/','',$sisältö);$sisältö = preg_replace('/<category>(.+?)<\/category>/','',$content);// Muuntaa yksittäiset & merkit & (a.a. &)$content = preg_replace('/&([^#])(?![ a-z1-4]{1,8};)/i', '&$1', $content);// Korjaa Word pasting$content = strtr($content, $wp_htmltranswinuni);// Pieni XHTML-apu $content = str_replace('<br>','<br>', $content);$content = str_replace('', '', $content);return $content;}/** * Tasapainottaa tunnisteet vain, jos se pakotetaan ja vaihtoehto on asetettu tasapainottamaan tunnisteita. * * Vaihtoehtoa "use_balanceTags" käytetään määrittämään, tasapainotetaanko tagit. * Sekä $force-parametrin että 'use_balanceTags'-vaihtoehdon on oltava tosi * ennen kuin tagit tasapainotetaan. * * @alkaen 0.71 * * @param string $text Tasapainotettava teksti * @param bool $force Pakottaa tasapainotuksen jättäen huomioimatta vaihtoehdon arvon. Oletusarvo epätosi. * @return string Tasapainotettu teksti */function balanceTags( $teksti, $force = false ) {if ( !$force && get_option('use_balanceTags') == 0 )return $text;return force_balance_tags( $text );}/* * * Tasapainottaa merkkijonon tagit muokatun pinon avulla. * * @alkaen 2.0.4 * * @kirjoittaja Leonard Lin<leonard>* @lisenssi GPL * @copyright 4. marraskuuta 2001 * @versio 1.1 * @todo Tee parempi - muuta silmukan ehto $tekstiksi 1.2:ssa * @sisäinen Muokannut Scott Reilly (coffee2code) 2. elokuuta 2004 *1.1 Korjattu liitteen/pinon käsittely lopputekstin pop-järjestys * Lisätty puhdistuskoukut *1.0 ensimmäinen versio * * @param string $text Teksti tasapainotettava. * @return string Tasapainoinen teksti. */function force_balance_tags( $teksti ) {$tagstack = array();$stacksize = 0;$tagqueue = '';$newtext = '';$single_tags = array('br', 'hr', 'img', 'syöttö'); // Tunnetut yksikokoiset/itsesulkeutuvat tagit$nestable_tags = array( 'blockquote', 'div', 'span', 'q' ); // Tunnisteet, jotka voidaan välittömästi upottaa itseensä// WP-virheenkorjaus kommenteille - jos todella tarkoitit kirjoittaa '< !--'$text = str_replace('< !--', '< !--', $text);// WP-virheenkorjaus for LOVE <3 (ja muihin tilanteisiin, joissa '<' ennen numeroa)$text = preg_replace('#<([0-9]{1})#', '<$1' , $teksti);while ( preg_match("/<(\/?[\w:]*)\s*([^>]*)>/", $teksti, $regex) ) {$newtext .= $ tagqueue;$i = strpos($text, $regex[0]);$l = strlen($regex[0]);// tyhjennä shifter$tagqueue ='';// Pop tai Pushif ( isset($regex [1][0]) && '/' == $regex[1][0] ) { // End Tag$tag = strtolower(substr($regex[1],1));// jos liian monta sulkevaa tagsif( $stacksize <= 0 ) {$tag = '';// tai lähellä ollakseen turvassa $tag = '/' . $tag;}// if stacktop value = tagin sulkemisarvo then popelse if ( $tagstack[$stacksize - 1] == $tag ) { // löytyi sulkeva tag$tag = '' . $tag . '>'; // Sulje tunniste// Poparray_pop( $tagstack );$stacksize--;} else { // sulkeva tagi ei ole ylhäällä, hae sitä varten ( $j = $pinon koko-1; $j >= 0; $j-- ) {if ( $tagstack[$j] == $tag ) {// lisää tagi tagqueuefor ( $k = $pinon koko-1; $k >= $j; $k--) {$tagqueue .= '' . array_pop( $tagstack ) . '>';$stacksize--;}break;}}$tag = '';}} else { // Aloita Tag$tag = strtolower($regex[1]);// Tunnisteen puhdistus// Jos sulkeutuu itsestään tai '', älä tee mitään.if ( substr($regex[2],-1) == '/' || $tag == '' ) {// älä tee mitään}// ElseJos se on tunnettu single -entity-tunniste, mutta se ei sulkeudu itseään, tee soelseif ( in_array($tag, $single_tags) ) {$regex[2] .= '/';} else {// Työnnä tagi pinoon// Jos pinon yläosa on sama kuin tunniste, jonka haluamme työntää, sulje edellinen tagif ( $stacksize > 0 && !in_array($tag, $nestable_tags) && $tagstack[$stacksize - 1] == $tag ) {$tagqueue = ''. array_pop ($tagstack) . '>';$stacksize--;}$pinon koko = array_push ($tagpino, $tag);}// Attribuutit$attributes = $regex[2];if( !empty($attributes) )$attributes = ' '. $attributes;$tag = '<' . $tag . $attribuutit . '>';//Jos olet jo jonossa suljetun tagin kohdalla, laita tämä tagi: tooif ( !empty($tagqueue) ) {$tagqueue .= $tag;$tag = '';}}$newtext .= substr( $teksti, 0, $i) . $tag;$text = substr($text, $i + $l);}// Tyhjennä tagijono$uusiteksti .= $tagqueue;// Lisää jäljellä oleva teksti$uusiteksti .= $teksti;// Tyhjennä pinoaminen( $x = array_pop($tagpino) )$uusiteksti .= '' . $x . '>'; // Lisää loput tagit sulkeaksesi// WP-korjaus virheeseen HTML-kommenteilla$newtext = str_replace("< !--","</leonard></category>

References

Top Articles
Latest Posts
Article information

Author: Aracelis Kilback

Last Updated: 03/10/2023

Views: 5273

Rating: 4.3 / 5 (64 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Aracelis Kilback

Birthday: 1994-11-22

Address: Apt. 895 30151 Green Plain, Lake Mariela, RI 98141

Phone: +5992291857476

Job: Legal Officer

Hobby: LARPing, role-playing games, Slacklining, Reading, Inline skating, Brazilian jiu-jitsu, Dance

Introduction: My name is Aracelis Kilback, I am a nice, gentle, agreeable, joyous, attractive, combative, gifted person who loves writing and wants to share my knowledge and understanding with you.