protected static function make_space_nonbreaking( $string, $narrow_space, $u ) {
		return \preg_replace(
			[
				'/\s*' . U::THIN_SPACE . '\s*/u', // @codeCoverageIgnoreStart
				'/\s*' . U::NO_BREAK_NARROW_SPACE . '\s*/u',
				"/\\s+/$u",
				'/' . self::MASKED_NARROW_SPACE . "/$u",
			],
			[
				self::MASKED_NARROW_SPACE,
				self::MASKED_NARROW_SPACE,
				U::NO_BREAK_SPACE, // @codeCoverageIgnoreEnd
				$narrow_space,
			],
			$string
		);
	}
protected static function make_space_nonbreaking( $string, $narrow_space, $u ) {
		return \preg_replace(
			[
				'/\s*' . U::THIN_SPACE . '\s*/u', // @codeCoverageIgnoreStart
				'/\s*' . U::NO_BREAK_NARROW_SPACE . '\s*/u',
				"/\\s+/$u",
				'/' . self::MASKED_NARROW_SPACE . "/$u",
			],
			[
				self::MASKED_NARROW_SPACE,
				self::MASKED_NARROW_SPACE,
				U::NO_BREAK_SPACE, // @codeCoverageIgnoreEnd
				$narrow_space,
			],
			$string
		);
	}
protected static function make_space_nonbreaking ( $ string , $ narrow_space , $ u ) { return \ preg_replace ( [ '/\s*' . U :: THIN_SPACE . '\s*/u' , // @codeCoverageIgnoreStart '/\s*' . U :: NO_BREAK_NARROW_SPACE . '\s*/u' , "/\\s+/$u" , '/' . self :: MASKED_NARROW_SPACE . "/$u" , ] , [ self :: MASKED_NARROW_SPACE , self :: MASKED_NARROW_SPACE , U :: NO_BREAK_SPACE , // @codeCoverageIgnoreEnd $ narrow_space , ] , $ string ) ; }
Strip zero-width space and soft hyphens from the given string.

@param  string $string       Required.
@param  string $narrow_space The narrow no-break space character.
@param  string $u            Either 'u' or the empty string.

@return string
Strip zero - width space and soft hyphens from the given string .