This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

_deep_replace( string|array $search, string $subject )

Perform a deep string replace operation to ensure the values in $search are no longer present


Repeats the replacement operation until it no longer replaces anything so as to remove "nested" values e.g. $subject = ‘%0%0%0DDD’, $search =’%0D’, $result =” rather than the ‘%0%0DD’ that str_replace would return



(string|array) (Required) The value being searched for, otherwise known as the needle. An array may be used to designate multiple needles.


(string) (Required) The string being searched and replaced on, otherwise known as the haystack.


(string) The string with the replaced svalues.


File: wp-includes/formatting.php

function _deep_replace( $search, $subject ) {
	$subject = (string) $subject;

	$count = 1;
	while ( $count ) {
		$subject = str_replace( $search, '', $subject, $count );

	return $subject;


Version Description
WP-2.8.1 Introduced.