HH\Lib\Str\replace_every_ci
Returns the "haystack" string with all occurrences of the keys of
$replacements replaced by the corresponding values (case-insensitive)
namespace HH\Lib\Str;
function replace_every_ci(
string $haystack,
KeyedContainer<string, string> $replacements,
): string;
Replacements are applied in the order they are specified in $replacements,
and the new values are searched again for subsequent matches. For example,
dict['a' => 'b', 'b' => 'c'] is equivalent to dict['a' => 'c'], but
dict['b' => 'c', 'a' => 'b'] is not, despite having the same elements.
If there are multiple overlapping matches, the match occuring earlier in
$replacements (not in $haystack) takes precedence.
- For a single case-sensitive search/replace, see
Str\replace(). - For a single case-insensitive search/replace, see
Str\replace_ci(). - For multiple case-sensitive searches/replacements, see
Str\replace_every(). - For not having new values searched again, see
Str\replace_every_nonrecursive_ci().
Guide
Parameters
string $haystackKeyedContainer<string,string> $replacements
Returns
string
Examples
$result = Str\replace_every_ci("example_string", dict["example"=>"test", "string"=>"value"]);
echo($result);
//result: test_value
$result = Str\replace_every_ci("example_string", dict["EXAMPLE"=>"test", "STRING"=>"value"]);
echo($result);
//result: test_value
$result = Str\replace_every_ci("example_string", dict["uncontained"=>"test", "uncontained_2"=>"value"]);
echo($result);
//result: example_string