Improve sanitize_text_field() some more so that we don't leave extra whitespace after stripping octets. Fixes #11573.
git-svn-id: http://svn.automattic.com/wordpress/trunk@12503 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
cb6e576f80
commit
aec63aa377
|
@ -2834,14 +2834,18 @@ function sanitize_text_field($str) {
|
|||
|
||||
if ( strpos($filtered, '<') !== false ) {
|
||||
$filtered = wp_pre_kses_less_than( $filtered );
|
||||
// This will strip extra whitespace for us.
|
||||
$filtered = wp_strip_all_tags( $filtered, true );
|
||||
} else {
|
||||
$filtered = trim( preg_replace('/[\r\n\t ]+/', ' ', $filtered) );
|
||||
$filtered = trim( preg_replace('/[\r\n\t ]+/', ' ', $filtered) );
|
||||
}
|
||||
|
||||
$match = array();
|
||||
while ( preg_match('/%[a-f0-9]{2}/i', $filtered, $match) )
|
||||
while ( preg_match('/%[a-f0-9]{2}/i', $filtered, $match) ) {
|
||||
$filtered = str_replace($match[0], '', $filtered);
|
||||
}
|
||||
// Strip out the whitespace that may now exist after removing the octets.
|
||||
$filtered = trim( preg_replace('/[\r\n\t ]+/', ' ', $filtered) );
|
||||
|
||||
return apply_filters('sanitize_text_field', $filtered, $str);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue