Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-inclu...
File: formatting.php
* Filters the maximum number of words in a post excerpt.
[4000] Fix | Delete
*
[4001] Fix | Delete
* @since 2.7.0
[4002] Fix | Delete
*
[4003] Fix | Delete
* @param int $number The maximum number of words. Default 55.
[4004] Fix | Delete
*/
[4005] Fix | Delete
$excerpt_length = (int) apply_filters( 'excerpt_length', $excerpt_length );
[4006] Fix | Delete
[4007] Fix | Delete
/**
[4008] Fix | Delete
* Filters the string in the "more" link displayed after a trimmed excerpt.
[4009] Fix | Delete
*
[4010] Fix | Delete
* @since 2.9.0
[4011] Fix | Delete
*
[4012] Fix | Delete
* @param string $more_string The string shown within the more link.
[4013] Fix | Delete
*/
[4014] Fix | Delete
$excerpt_more = apply_filters( 'excerpt_more', ' ' . '[…]' );
[4015] Fix | Delete
$text = wp_trim_words( $text, $excerpt_length, $excerpt_more );
[4016] Fix | Delete
[4017] Fix | Delete
}
[4018] Fix | Delete
[4019] Fix | Delete
/**
[4020] Fix | Delete
* Filters the trimmed excerpt string.
[4021] Fix | Delete
*
[4022] Fix | Delete
* @since 2.8.0
[4023] Fix | Delete
*
[4024] Fix | Delete
* @param string $text The trimmed text.
[4025] Fix | Delete
* @param string $raw_excerpt The text prior to trimming.
[4026] Fix | Delete
*/
[4027] Fix | Delete
return apply_filters( 'wp_trim_excerpt', $text, $raw_excerpt );
[4028] Fix | Delete
}
[4029] Fix | Delete
[4030] Fix | Delete
/**
[4031] Fix | Delete
* Trims text to a certain number of words.
[4032] Fix | Delete
*
[4033] Fix | Delete
* This function is localized. For languages that count 'words' by the individual
[4034] Fix | Delete
* character (such as East Asian languages), the $num_words argument will apply
[4035] Fix | Delete
* to the number of individual characters.
[4036] Fix | Delete
*
[4037] Fix | Delete
* @since 3.3.0
[4038] Fix | Delete
*
[4039] Fix | Delete
* @param string $text Text to trim.
[4040] Fix | Delete
* @param int $num_words Number of words. Default 55.
[4041] Fix | Delete
* @param string $more Optional. What to append if $text needs to be trimmed. Default '…'.
[4042] Fix | Delete
* @return string Trimmed text.
[4043] Fix | Delete
*/
[4044] Fix | Delete
function wp_trim_words( $text, $num_words = 55, $more = null ) {
[4045] Fix | Delete
if ( null === $more ) {
[4046] Fix | Delete
$more = __( '…' );
[4047] Fix | Delete
}
[4048] Fix | Delete
[4049] Fix | Delete
$original_text = $text;
[4050] Fix | Delete
$text = wp_strip_all_tags( $text );
[4051] Fix | Delete
$num_words = (int) $num_words;
[4052] Fix | Delete
[4053] Fix | Delete
if ( str_starts_with( wp_get_word_count_type(), 'characters' ) && preg_match( '/^utf\-?8$/i', get_option( 'blog_charset' ) ) ) {
[4054] Fix | Delete
$text = trim( preg_replace( "/[\n\r\t ]+/", ' ', $text ), ' ' );
[4055] Fix | Delete
preg_match_all( '/./u', $text, $words_array );
[4056] Fix | Delete
$words_array = array_slice( $words_array[0], 0, $num_words + 1 );
[4057] Fix | Delete
$sep = '';
[4058] Fix | Delete
} else {
[4059] Fix | Delete
$words_array = preg_split( "/[\n\r\t ]+/", $text, $num_words + 1, PREG_SPLIT_NO_EMPTY );
[4060] Fix | Delete
$sep = ' ';
[4061] Fix | Delete
}
[4062] Fix | Delete
[4063] Fix | Delete
if ( count( $words_array ) > $num_words ) {
[4064] Fix | Delete
array_pop( $words_array );
[4065] Fix | Delete
$text = implode( $sep, $words_array );
[4066] Fix | Delete
$text = $text . $more;
[4067] Fix | Delete
} else {
[4068] Fix | Delete
$text = implode( $sep, $words_array );
[4069] Fix | Delete
}
[4070] Fix | Delete
[4071] Fix | Delete
/**
[4072] Fix | Delete
* Filters the text content after words have been trimmed.
[4073] Fix | Delete
*
[4074] Fix | Delete
* @since 3.3.0
[4075] Fix | Delete
*
[4076] Fix | Delete
* @param string $text The trimmed text.
[4077] Fix | Delete
* @param int $num_words The number of words to trim the text to. Default 55.
[4078] Fix | Delete
* @param string $more An optional string to append to the end of the trimmed text, e.g. ….
[4079] Fix | Delete
* @param string $original_text The text before it was trimmed.
[4080] Fix | Delete
*/
[4081] Fix | Delete
return apply_filters( 'wp_trim_words', $text, $num_words, $more, $original_text );
[4082] Fix | Delete
}
[4083] Fix | Delete
[4084] Fix | Delete
/**
[4085] Fix | Delete
* Converts named entities into numbered entities.
[4086] Fix | Delete
*
[4087] Fix | Delete
* @since 1.5.1
[4088] Fix | Delete
*
[4089] Fix | Delete
* @param string $text The text within which entities will be converted.
[4090] Fix | Delete
* @return string Text with converted entities.
[4091] Fix | Delete
*/
[4092] Fix | Delete
function ent2ncr( $text ) {
[4093] Fix | Delete
[4094] Fix | Delete
/**
[4095] Fix | Delete
* Filters text before named entities are converted into numbered entities.
[4096] Fix | Delete
*
[4097] Fix | Delete
* A non-null string must be returned for the filter to be evaluated.
[4098] Fix | Delete
*
[4099] Fix | Delete
* @since 3.3.0
[4100] Fix | Delete
*
[4101] Fix | Delete
* @param string|null $converted_text The text to be converted. Default null.
[4102] Fix | Delete
* @param string $text The text prior to entity conversion.
[4103] Fix | Delete
*/
[4104] Fix | Delete
$filtered = apply_filters( 'pre_ent2ncr', null, $text );
[4105] Fix | Delete
if ( null !== $filtered ) {
[4106] Fix | Delete
return $filtered;
[4107] Fix | Delete
}
[4108] Fix | Delete
[4109] Fix | Delete
$to_ncr = array(
[4110] Fix | Delete
'"' => '"',
[4111] Fix | Delete
'&' => '&',
[4112] Fix | Delete
'<' => '<',
[4113] Fix | Delete
'>' => '>',
[4114] Fix | Delete
'|' => '|',
[4115] Fix | Delete
' ' => ' ',
[4116] Fix | Delete
'¡' => '¡',
[4117] Fix | Delete
'¢' => '¢',
[4118] Fix | Delete
'£' => '£',
[4119] Fix | Delete
'¤' => '¤',
[4120] Fix | Delete
'¥' => '¥',
[4121] Fix | Delete
'¦' => '¦',
[4122] Fix | Delete
'&brkbar;' => '¦',
[4123] Fix | Delete
'§' => '§',
[4124] Fix | Delete
'¨' => '¨',
[4125] Fix | Delete
'¨' => '¨',
[4126] Fix | Delete
'©' => '©',
[4127] Fix | Delete
'ª' => 'ª',
[4128] Fix | Delete
'«' => '«',
[4129] Fix | Delete
'¬' => '¬',
[4130] Fix | Delete
'­' => '­',
[4131] Fix | Delete
'®' => '®',
[4132] Fix | Delete
'¯' => '¯',
[4133] Fix | Delete
'&hibar;' => '¯',
[4134] Fix | Delete
'°' => '°',
[4135] Fix | Delete
'±' => '±',
[4136] Fix | Delete
'²' => '²',
[4137] Fix | Delete
'³' => '³',
[4138] Fix | Delete
'´' => '´',
[4139] Fix | Delete
'µ' => 'µ',
[4140] Fix | Delete
'¶' => '¶',
[4141] Fix | Delete
'·' => '·',
[4142] Fix | Delete
'¸' => '¸',
[4143] Fix | Delete
'¹' => '¹',
[4144] Fix | Delete
'º' => 'º',
[4145] Fix | Delete
'»' => '»',
[4146] Fix | Delete
'¼' => '¼',
[4147] Fix | Delete
'½' => '½',
[4148] Fix | Delete
'¾' => '¾',
[4149] Fix | Delete
'¿' => '¿',
[4150] Fix | Delete
'À' => 'À',
[4151] Fix | Delete
'Á' => 'Á',
[4152] Fix | Delete
'Â' => 'Â',
[4153] Fix | Delete
'Ã' => 'Ã',
[4154] Fix | Delete
'Ä' => 'Ä',
[4155] Fix | Delete
'Å' => 'Å',
[4156] Fix | Delete
'Æ' => 'Æ',
[4157] Fix | Delete
'Ç' => 'Ç',
[4158] Fix | Delete
'È' => 'È',
[4159] Fix | Delete
'É' => 'É',
[4160] Fix | Delete
'Ê' => 'Ê',
[4161] Fix | Delete
'Ë' => 'Ë',
[4162] Fix | Delete
'Ì' => 'Ì',
[4163] Fix | Delete
'Í' => 'Í',
[4164] Fix | Delete
'Î' => 'Î',
[4165] Fix | Delete
'Ï' => 'Ï',
[4166] Fix | Delete
'Ð' => 'Ð',
[4167] Fix | Delete
'Ñ' => 'Ñ',
[4168] Fix | Delete
'Ò' => 'Ò',
[4169] Fix | Delete
'Ó' => 'Ó',
[4170] Fix | Delete
'Ô' => 'Ô',
[4171] Fix | Delete
'Õ' => 'Õ',
[4172] Fix | Delete
'Ö' => 'Ö',
[4173] Fix | Delete
'×' => '×',
[4174] Fix | Delete
'Ø' => 'Ø',
[4175] Fix | Delete
'Ù' => 'Ù',
[4176] Fix | Delete
'Ú' => 'Ú',
[4177] Fix | Delete
'Û' => 'Û',
[4178] Fix | Delete
'Ü' => 'Ü',
[4179] Fix | Delete
'Ý' => 'Ý',
[4180] Fix | Delete
'Þ' => 'Þ',
[4181] Fix | Delete
'ß' => 'ß',
[4182] Fix | Delete
'à' => 'à',
[4183] Fix | Delete
'á' => 'á',
[4184] Fix | Delete
'â' => 'â',
[4185] Fix | Delete
'ã' => 'ã',
[4186] Fix | Delete
'ä' => 'ä',
[4187] Fix | Delete
'å' => 'å',
[4188] Fix | Delete
'æ' => 'æ',
[4189] Fix | Delete
'ç' => 'ç',
[4190] Fix | Delete
'è' => 'è',
[4191] Fix | Delete
'é' => 'é',
[4192] Fix | Delete
'ê' => 'ê',
[4193] Fix | Delete
'ë' => 'ë',
[4194] Fix | Delete
'ì' => 'ì',
[4195] Fix | Delete
'í' => 'í',
[4196] Fix | Delete
'î' => 'î',
[4197] Fix | Delete
'ï' => 'ï',
[4198] Fix | Delete
'ð' => 'ð',
[4199] Fix | Delete
'ñ' => 'ñ',
[4200] Fix | Delete
'ò' => 'ò',
[4201] Fix | Delete
'ó' => 'ó',
[4202] Fix | Delete
'ô' => 'ô',
[4203] Fix | Delete
'õ' => 'õ',
[4204] Fix | Delete
'ö' => 'ö',
[4205] Fix | Delete
'÷' => '÷',
[4206] Fix | Delete
'ø' => 'ø',
[4207] Fix | Delete
'ù' => 'ù',
[4208] Fix | Delete
'ú' => 'ú',
[4209] Fix | Delete
'û' => 'û',
[4210] Fix | Delete
'ü' => 'ü',
[4211] Fix | Delete
'ý' => 'ý',
[4212] Fix | Delete
'þ' => 'þ',
[4213] Fix | Delete
'ÿ' => 'ÿ',
[4214] Fix | Delete
'Œ' => 'Œ',
[4215] Fix | Delete
'œ' => 'œ',
[4216] Fix | Delete
'Š' => 'Š',
[4217] Fix | Delete
'š' => 'š',
[4218] Fix | Delete
'Ÿ' => 'Ÿ',
[4219] Fix | Delete
'ƒ' => 'ƒ',
[4220] Fix | Delete
'ˆ' => 'ˆ',
[4221] Fix | Delete
'˜' => '˜',
[4222] Fix | Delete
'Α' => 'Α',
[4223] Fix | Delete
'Β' => 'Β',
[4224] Fix | Delete
'Γ' => 'Γ',
[4225] Fix | Delete
'Δ' => 'Δ',
[4226] Fix | Delete
'Ε' => 'Ε',
[4227] Fix | Delete
'Ζ' => 'Ζ',
[4228] Fix | Delete
'Η' => 'Η',
[4229] Fix | Delete
'Θ' => 'Θ',
[4230] Fix | Delete
'Ι' => 'Ι',
[4231] Fix | Delete
'Κ' => 'Κ',
[4232] Fix | Delete
'Λ' => 'Λ',
[4233] Fix | Delete
'Μ' => 'Μ',
[4234] Fix | Delete
'Ν' => 'Ν',
[4235] Fix | Delete
'Ξ' => 'Ξ',
[4236] Fix | Delete
'Ο' => 'Ο',
[4237] Fix | Delete
'Π' => 'Π',
[4238] Fix | Delete
'Ρ' => 'Ρ',
[4239] Fix | Delete
'Σ' => 'Σ',
[4240] Fix | Delete
'Τ' => 'Τ',
[4241] Fix | Delete
'Υ' => 'Υ',
[4242] Fix | Delete
'Φ' => 'Φ',
[4243] Fix | Delete
'Χ' => 'Χ',
[4244] Fix | Delete
'Ψ' => 'Ψ',
[4245] Fix | Delete
'Ω' => 'Ω',
[4246] Fix | Delete
'α' => 'α',
[4247] Fix | Delete
'β' => 'β',
[4248] Fix | Delete
'γ' => 'γ',
[4249] Fix | Delete
'δ' => 'δ',
[4250] Fix | Delete
'ε' => 'ε',
[4251] Fix | Delete
'ζ' => 'ζ',
[4252] Fix | Delete
'η' => 'η',
[4253] Fix | Delete
'θ' => 'θ',
[4254] Fix | Delete
'ι' => 'ι',
[4255] Fix | Delete
'κ' => 'κ',
[4256] Fix | Delete
'λ' => 'λ',
[4257] Fix | Delete
'μ' => 'μ',
[4258] Fix | Delete
'ν' => 'ν',
[4259] Fix | Delete
'ξ' => 'ξ',
[4260] Fix | Delete
'ο' => 'ο',
[4261] Fix | Delete
'π' => 'π',
[4262] Fix | Delete
'ρ' => 'ρ',
[4263] Fix | Delete
'ς' => 'ς',
[4264] Fix | Delete
'σ' => 'σ',
[4265] Fix | Delete
'τ' => 'τ',
[4266] Fix | Delete
'υ' => 'υ',
[4267] Fix | Delete
'φ' => 'φ',
[4268] Fix | Delete
'χ' => 'χ',
[4269] Fix | Delete
'ψ' => 'ψ',
[4270] Fix | Delete
'ω' => 'ω',
[4271] Fix | Delete
'ϑ' => 'ϑ',
[4272] Fix | Delete
'ϒ' => 'ϒ',
[4273] Fix | Delete
'ϖ' => 'ϖ',
[4274] Fix | Delete
' ' => ' ',
[4275] Fix | Delete
' ' => ' ',
[4276] Fix | Delete
' ' => ' ',
[4277] Fix | Delete
'‌' => '‌',
[4278] Fix | Delete
'‍' => '‍',
[4279] Fix | Delete
'‎' => '‎',
[4280] Fix | Delete
'‏' => '‏',
[4281] Fix | Delete
'–' => '–',
[4282] Fix | Delete
'—' => '—',
[4283] Fix | Delete
'‘' => '‘',
[4284] Fix | Delete
'’' => '’',
[4285] Fix | Delete
'‚' => '‚',
[4286] Fix | Delete
'“' => '“',
[4287] Fix | Delete
'”' => '”',
[4288] Fix | Delete
'„' => '„',
[4289] Fix | Delete
'†' => '†',
[4290] Fix | Delete
'‡' => '‡',
[4291] Fix | Delete
'•' => '•',
[4292] Fix | Delete
'…' => '…',
[4293] Fix | Delete
'‰' => '‰',
[4294] Fix | Delete
'′' => '′',
[4295] Fix | Delete
'″' => '″',
[4296] Fix | Delete
'‹' => '‹',
[4297] Fix | Delete
'›' => '›',
[4298] Fix | Delete
'‾' => '‾',
[4299] Fix | Delete
'⁄' => '⁄',
[4300] Fix | Delete
'€' => '€',
[4301] Fix | Delete
'ℑ' => 'ℑ',
[4302] Fix | Delete
'℘' => '℘',
[4303] Fix | Delete
'ℜ' => 'ℜ',
[4304] Fix | Delete
'™' => '™',
[4305] Fix | Delete
'ℵ' => 'ℵ',
[4306] Fix | Delete
'↵' => '↵',
[4307] Fix | Delete
'⇐' => '⇐',
[4308] Fix | Delete
'⇑' => '⇑',
[4309] Fix | Delete
'⇒' => '⇒',
[4310] Fix | Delete
'⇓' => '⇓',
[4311] Fix | Delete
'⇔' => '⇔',
[4312] Fix | Delete
'∀' => '∀',
[4313] Fix | Delete
'∂' => '∂',
[4314] Fix | Delete
'∃' => '∃',
[4315] Fix | Delete
'∅' => '∅',
[4316] Fix | Delete
'∇' => '∇',
[4317] Fix | Delete
'∈' => '∈',
[4318] Fix | Delete
'∉' => '∉',
[4319] Fix | Delete
'∋' => '∋',
[4320] Fix | Delete
'∏' => '∏',
[4321] Fix | Delete
'∑' => '∑',
[4322] Fix | Delete
'−' => '−',
[4323] Fix | Delete
'∗' => '∗',
[4324] Fix | Delete
'√' => '√',
[4325] Fix | Delete
'∝' => '∝',
[4326] Fix | Delete
'∞' => '∞',
[4327] Fix | Delete
'∠' => '∠',
[4328] Fix | Delete
'∧' => '∧',
[4329] Fix | Delete
'∨' => '∨',
[4330] Fix | Delete
'∩' => '∩',
[4331] Fix | Delete
'∪' => '∪',
[4332] Fix | Delete
'∫' => '∫',
[4333] Fix | Delete
'∴' => '∴',
[4334] Fix | Delete
'∼' => '∼',
[4335] Fix | Delete
'≅' => '≅',
[4336] Fix | Delete
'≈' => '≈',
[4337] Fix | Delete
'≠' => '≠',
[4338] Fix | Delete
'≡' => '≡',
[4339] Fix | Delete
'≤' => '≤',
[4340] Fix | Delete
'≥' => '≥',
[4341] Fix | Delete
'⊂' => '⊂',
[4342] Fix | Delete
'⊃' => '⊃',
[4343] Fix | Delete
'⊄' => '⊄',
[4344] Fix | Delete
'⊆' => '⊆',
[4345] Fix | Delete
'⊇' => '⊇',
[4346] Fix | Delete
'⊕' => '⊕',
[4347] Fix | Delete
'⊗' => '⊗',
[4348] Fix | Delete
'⊥' => '⊥',
[4349] Fix | Delete
'⋅' => '⋅',
[4350] Fix | Delete
'⌈' => '⌈',
[4351] Fix | Delete
'⌉' => '⌉',
[4352] Fix | Delete
'⌊' => '⌊',
[4353] Fix | Delete
'⌋' => '⌋',
[4354] Fix | Delete
'⟨' => '〈',
[4355] Fix | Delete
'⟩' => '〉',
[4356] Fix | Delete
'←' => '←',
[4357] Fix | Delete
'↑' => '↑',
[4358] Fix | Delete
'→' => '→',
[4359] Fix | Delete
'↓' => '↓',
[4360] Fix | Delete
'↔' => '↔',
[4361] Fix | Delete
'◊' => '◊',
[4362] Fix | Delete
'♠' => '♠',
[4363] Fix | Delete
'♣' => '♣',
[4364] Fix | Delete
'♥' => '♥',
[4365] Fix | Delete
'♦' => '♦',
[4366] Fix | Delete
);
[4367] Fix | Delete
[4368] Fix | Delete
return str_replace( array_keys( $to_ncr ), array_values( $to_ncr ), $text );
[4369] Fix | Delete
}
[4370] Fix | Delete
[4371] Fix | Delete
/**
[4372] Fix | Delete
* Formats text for the editor.
[4373] Fix | Delete
*
[4374] Fix | Delete
* Generally the browsers treat everything inside a textarea as text, but
[4375] Fix | Delete
* it is still a good idea to HTML entity encode `<`, `>` and `&` in the content.
[4376] Fix | Delete
*
[4377] Fix | Delete
* The filter {@see 'format_for_editor'} is applied here. If `$text` is empty the
[4378] Fix | Delete
* filter will be applied to an empty string.
[4379] Fix | Delete
*
[4380] Fix | Delete
* @since 4.3.0
[4381] Fix | Delete
*
[4382] Fix | Delete
* @see _WP_Editors::editor()
[4383] Fix | Delete
*
[4384] Fix | Delete
* @param string $text The text to be formatted.
[4385] Fix | Delete
* @param string $default_editor The default editor for the current user.
[4386] Fix | Delete
* It is usually either 'html' or 'tinymce'.
[4387] Fix | Delete
* @return string The formatted text after filter is applied.
[4388] Fix | Delete
*/
[4389] Fix | Delete
function format_for_editor( $text, $default_editor = null ) {
[4390] Fix | Delete
if ( $text ) {
[4391] Fix | Delete
$text = htmlspecialchars( $text, ENT_NOQUOTES, get_option( 'blog_charset' ) );
[4392] Fix | Delete
}
[4393] Fix | Delete
[4394] Fix | Delete
/**
[4395] Fix | Delete
* Filters the text after it is formatted for the editor.
[4396] Fix | Delete
*
[4397] Fix | Delete
* @since 4.3.0
[4398] Fix | Delete
*
[4399] Fix | Delete
* @param string $text The formatted text.
[4400] Fix | Delete
* @param string $default_editor The default editor for the current user.
[4401] Fix | Delete
* It is usually either 'html' or 'tinymce'.
[4402] Fix | Delete
*/
[4403] Fix | Delete
return apply_filters( 'format_for_editor', $text, $default_editor );
[4404] Fix | Delete
}
[4405] Fix | Delete
[4406] Fix | Delete
/**
[4407] Fix | Delete
* Performs a deep string replace operation to ensure the values in $search are no longer present.
[4408] Fix | Delete
*
[4409] Fix | Delete
* Repeats the replacement operation until it no longer replaces anything to remove "nested" values
[4410] Fix | Delete
* e.g. $subject = '%0%0%0DDD', $search ='%0D', $result ='' rather than the '%0%0DD' that
[4411] Fix | Delete
* str_replace would return
[4412] Fix | Delete
*
[4413] Fix | Delete
* @since 2.8.1
[4414] Fix | Delete
* @access private
[4415] Fix | Delete
*
[4416] Fix | Delete
* @param string|array $search The value being searched for, otherwise known as the needle.
[4417] Fix | Delete
* An array may be used to designate multiple needles.
[4418] Fix | Delete
* @param string $subject The string being searched and replaced on, otherwise known as the haystack.
[4419] Fix | Delete
* @return string The string with the replaced values.
[4420] Fix | Delete
*/
[4421] Fix | Delete
function _deep_replace( $search, $subject ) {
[4422] Fix | Delete
$subject = (string) $subject;
[4423] Fix | Delete
[4424] Fix | Delete
$count = 1;
[4425] Fix | Delete
while ( $count ) {
[4426] Fix | Delete
$subject = str_replace( $search, '', $subject, $count );
[4427] Fix | Delete
}
[4428] Fix | Delete
[4429] Fix | Delete
return $subject;
[4430] Fix | Delete
}
[4431] Fix | Delete
[4432] Fix | Delete
/**
[4433] Fix | Delete
* Escapes data for use in a MySQL query.
[4434] Fix | Delete
*
[4435] Fix | Delete
* Usually you should prepare queries using wpdb::prepare().
[4436] Fix | Delete
* Sometimes, spot-escaping is required or useful. One example
[4437] Fix | Delete
* is preparing an array for use in an IN clause.
[4438] Fix | Delete
*
[4439] Fix | Delete
* NOTE: Since 4.8.3, '%' characters will be replaced with a placeholder string,
[4440] Fix | Delete
* this prevents certain SQLi attacks from taking place. This change in behavior
[4441] Fix | Delete
* may cause issues for code that expects the return value of esc_sql() to be usable
[4442] Fix | Delete
* for other purposes.
[4443] Fix | Delete
*
[4444] Fix | Delete
* @since 2.8.0
[4445] Fix | Delete
*
[4446] Fix | Delete
* @global wpdb $wpdb WordPress database abstraction object.
[4447] Fix | Delete
*
[4448] Fix | Delete
* @param string|array $data Unescaped data.
[4449] Fix | Delete
* @return string|array Escaped data, in the same type as supplied.
[4450] Fix | Delete
*/
[4451] Fix | Delete
function esc_sql( $data ) {
[4452] Fix | Delete
global $wpdb;
[4453] Fix | Delete
return $wpdb->_escape( $data );
[4454] Fix | Delete
}
[4455] Fix | Delete
[4456] Fix | Delete
/**
[4457] Fix | Delete
* Checks and cleans a URL.
[4458] Fix | Delete
*
[4459] Fix | Delete
* A number of characters are removed from the URL. If the URL is for displaying
[4460] Fix | Delete
* (the default behavior) ampersands are also replaced. The {@see 'clean_url'} filter
[4461] Fix | Delete
* is applied to the returned cleaned URL.
[4462] Fix | Delete
*
[4463] Fix | Delete
* @since 2.8.0
[4464] Fix | Delete
*
[4465] Fix | Delete
* @param string $url The URL to be cleaned.
[4466] Fix | Delete
* @param string[] $protocols Optional. An array of acceptable protocols.
[4467] Fix | Delete
* Defaults to return value of wp_allowed_protocols().
[4468] Fix | Delete
* @param string $_context Private. Use sanitize_url() for database usage.
[4469] Fix | Delete
* @return string The cleaned URL after the {@see 'clean_url'} filter is applied.
[4470] Fix | Delete
* An empty string is returned if `$url` specifies a protocol other than
[4471] Fix | Delete
* those in `$protocols`, or if `$url` contains an empty string.
[4472] Fix | Delete
*/
[4473] Fix | Delete
function esc_url( $url, $protocols = null, $_context = 'display' ) {
[4474] Fix | Delete
$original_url = $url;
[4475] Fix | Delete
[4476] Fix | Delete
if ( '' === $url ) {
[4477] Fix | Delete
return $url;
[4478] Fix | Delete
}
[4479] Fix | Delete
[4480] Fix | Delete
$url = str_replace( ' ', '%20', ltrim( $url ) );
[4481] Fix | Delete
$url = preg_replace( '|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\[\]\\x80-\\xff]|i', '', $url );
[4482] Fix | Delete
[4483] Fix | Delete
if ( '' === $url ) {
[4484] Fix | Delete
return $url;
[4485] Fix | Delete
}
[4486] Fix | Delete
[4487] Fix | Delete
if ( 0 !== stripos( $url, 'mailto:' ) ) {
[4488] Fix | Delete
$strip = array( '%0d', '%0a', '%0D', '%0A' );
[4489] Fix | Delete
$url = _deep_replace( $strip, $url );
[4490] Fix | Delete
}
[4491] Fix | Delete
[4492] Fix | Delete
$url = str_replace( ';//', '://', $url );
[4493] Fix | Delete
/*
[4494] Fix | Delete
* If the URL doesn't appear to contain a scheme, we presume
[4495] Fix | Delete
* it needs http:// prepended (unless it's a relative link
[4496] Fix | Delete
* starting with /, # or ?, or a PHP file).
[4497] Fix | Delete
*/
[4498] Fix | Delete
if ( ! str_contains( $url, ':' ) && ! in_array( $url[0], array( '/', '#', '?' ), true ) &&
[4499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function