You are here

public static function Unicode::strpos in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Component/Utility/Unicode.php \Drupal\Component\Utility\Unicode::strpos()

Finds the position of the first occurrence of a string in another string.

Parameters

string $haystack: The string to search in.

string $needle: The string to find in $haystack.

int $offset: If specified, start the search at this number of characters from the beginning (default 0).

Return value

int|false The position where $needle occurs in $haystack, always relative to the beginning (independent of $offset), or FALSE if not found. Note that a return value of 0 is not the same as FALSE.

2 calls to Unicode::strpos()
UnicodeTest::testStrpos in core/tests/Drupal/Tests/Component/Utility/UnicodeTest.php
Tests multibyte strpos.
_search_find_match_with_simplify in core/modules/search/search.module
Finds an appropriate keyword in text.

File

core/lib/Drupal/Component/Utility/Unicode.php, line 716
Contains \Drupal\Component\Utility\Unicode.

Class

Unicode
Provides Unicode-related conversions and operations.

Namespace

Drupal\Component\Utility

Code

public static function strpos($haystack, $needle, $offset = 0) {
  if (static::getStatus() == static::STATUS_MULTIBYTE) {
    return mb_strpos($haystack, $needle, $offset);
  }
  else {

    // Remove Unicode continuation characters, to be compatible with
    // Unicode::strlen() and Unicode::substr().
    $haystack = preg_replace("", '', $haystack);
    $needle = preg_replace("", '', $needle);
    return strpos($haystack, $needle, $offset);
  }
}