Simplify _deep_replace() by removing it's obscure looping and replacement checking logic, and instead, using the PHP5 $count parameter of str_replace(). Props hakre. Fixes #16903

Built from https://develop.svn.wordpress.org/trunk@25054


git-svn-id: http://core.svn.wordpress.org/trunk@25040 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Dion Hulse 2013-08-20 05:57:10 +00:00
parent e91dcf8fac
commit 2da772855e

View File

@ -2570,21 +2570,16 @@ function wp_htmledit_pre($output) {
* @since 2.8.1 * @since 2.8.1
* @access private * @access private
* *
* @param string|array $search * @param string|array $search The value being searched for, otherwise known as the needle. An array may be used to designate multiple needles.
* @param string $subject * @param string $subject The string being searched and replaced on, otherwise known as the haystack.
* @return string The processed string * @return string The string with the replaced svalues.
*/ */
function _deep_replace( $search, $subject ) { function _deep_replace( $search, $subject ) {
$found = true;
$subject = (string) $subject; $subject = (string) $subject;
while ( $found ) {
$found = false; $count = 1;
foreach ( (array) $search as $val ) { while ( $count ) {
while ( strpos( $subject, $val ) !== false ) { $subject = str_replace( $search, '', $subject, $count );
$found = true;
$subject = str_replace( $val, '', $subject );
}
}
} }
return $subject; return $subject;