function UnicodeString::indexOf
Overrides AbstractString::indexOf
File
-
vendor/
symfony/ string/ UnicodeString.php, line 134
Class
- UnicodeString
- Represents a string of Unicode grapheme clusters encoded as UTF-8.
Namespace
Symfony\Component\StringCode
public function indexOf(string|iterable|AbstractString $needle, int $offset = 0) : ?int {
if ($needle instanceof AbstractString) {
$needle = $needle->string;
}
elseif (!\is_string($needle)) {
return parent::indexOf($needle, $offset);
}
$form = null === $this->ignoreCase ? \Normalizer::NFD : \Normalizer::NFC;
normalizer_is_normalized($needle, $form) ?: ($needle = normalizer_normalize($needle, $form));
if ('' === $needle || false === $needle) {
return null;
}
try {
$i = $this->ignoreCase ? grapheme_stripos($this->string, $needle, $offset) : grapheme_strpos($this->string, $needle, $offset);
} catch (\ValueError) {
return null;
}
return false === $i ? null : $i;
}