/** * Case-insensitive UTF-8 version of strstr. Returns all of input string * from the first occurrence of needle to the end. This is a UTF8-aware * version of [stristr](http://php.net/stristr). * * $found = UTF8::stristr($str, $search); * * @author Harry Fuecks <*****@*****.**> * @param string $str input string * @param string $search needle * @return string matched substring if found * @return FALSE if the substring was not found */ public static function wpstristr($str, $search) { if (UTF8::is_ascii($str) and UTF8::is_ascii($search)) { return stristr($str, $search); } if ($search == '') { return $str; } $str_lower = UTF8::wpstrtolower($str); $search_lower = UTF8::wpstrtolower($search); preg_match('/^(.*?)' . preg_quote($search_lower, '/') . '/s', $str_lower, $matches); if (isset($matches[1])) { return substr($str, strlen($matches[1])); } return FALSE; }