Facebook Engineer?

This is available as Str\replace_ci_l in the www repository.

Returns the "haystack" string with all occurrences of $needle replaced by $replacement (case-insensitive)

namespace HH\Lib\Str;

function replace_ci_l(
  \HH\Lib\Locale\Locale $locale,
  string $haystack,
  string $needle,
  string $replacement,
): 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.


  • \HH\Lib\Locale\Locale $locale
  • string $haystack
  • string $needle
  • string $replacement


  • string