GoLang strstr

is this article helpful? yes | no
GoLang replacement for PHP's strstr [edit | history]
func Strstr(haystack string, needle string) string {
	if needle == "" {
		return ""
	idx := strings.Index(haystack, needle)
	if idx == -1 {
		return ""
	return haystack[idx+len([]byte(needle))-1:]

PHP strstr

PHP original manual for strstr [ show | php.net ]


(PHP 4, PHP 5, PHP 7)

strstrFind the first occurrence of a string


string strstr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] )

Returns part of haystack string starting from and including the first occurrence of needle to the end of haystack.


This function is case-sensitive. For case-insensitive searches, use stristr().


If you only want to determine if a particular needle occurs within haystack, use the faster and less memory intensive function strpos() instead.



The input string.


If needle is not a string, it is converted to an integer and applied as the ordinal value of a character.


If TRUE, strstr() returns the part of the haystack before the first occurrence of the needle (excluding the needle).

Return Values

Returns the portion of string, or FALSE if needle is not found.


Version Description
5.3.0 Added the optional parameter before_needle.
4.3.0 strstr() was made binary safe.


Example #1 strstr() example

'[email protected]';
$domain strstr($email'@');
$domain// prints @example.com

$user strstr($email'@'true); // As of PHP 5.3.0
echo $user// prints name

See Also

  • stristr() - Case-insensitive strstr
  • strrchr() - Find the last occurrence of a character in a string
  • strpos() - Find the position of the first occurrence of a substring in a string
  • strpbrk() - Search a string for any of a set of characters
  • preg_match() - Perform a regular expression match