HH\Lib\Str\replace_every_ci_l

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_l(
  \HH\Lib\Locale\Locale $locale,
  string $haystack,
  KeyedContainer<string, string> $replacements,
): string;

Locale-specific rules for case-insensitive comparisons will be used, and strings will be normalized before comparing if the locale specifies an encoding that supports multiple representations of the same characters, such as UTF-8.

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.

Parameters

Returns

  • string