搜索功能返回strpos()警告

I'm using this solution for searching phrases in wordpress. The function is this

function excerpt($text, $phrase, $radius = 100, $ending = "...") { 


     $phraseLen = strlen($phrase); 
   if ($radius < $phraseLen) { 
         $radius = $phraseLen; 
     } 

     $phrases = explode (' ',$phrase);

     foreach ($phrases as $phrase) {
         $pos = strpos(strtolower($text), strtolower($phrase)); 
         if ($pos > -1) break;
     }

     $startPos = 0; 
     if ($pos > $radius) { 
         $startPos = $pos - $radius; 
     } 

     $textLen = strlen($text); 

     $endPos = $pos + $phraseLen + $radius; 
     if ($endPos >= $textLen) { 
         $endPos = $textLen; 
     } 

     $excerpt = substr($text, $startPos, $endPos - $startPos); 
     if ($startPos != 0) { 
         $excerpt = substr_replace($excerpt, $ending, 0, $phraseLen); 
     } 

     if ($endPos != $textLen) { 
         $excerpt = substr_replace($excerpt, $ending, -$phraseLen); 
     } 

     return $excerpt; 

}

The thing is, since wordpress 4.0 this stopped working, and I'm getting Warning: strpos(): Empty needle warning.

I've tried with checking the $pos if it's empty, null, etc. Also with $text and $phrase, but no luck.

Anyone has a solution to this problem?

EDIT: The answer by VolkerK is ok, but I'd like to search not to return an error so I went with:

if(empty($phrase)){
    return;
}

In the beginning of the function. Works fine. :D

Somehow strtolower($phrase) must evaluate to an empty string when calling strpos, so let's use a function that filters out empty (sub-)strings and put in some more test.

$phrases = preg_split('!\s+!', $phrase, -1,  PREG_SPLIT_NO_EMPTY);
if ( empty($phrases) ) {
    trigger_error('empty phrase', E_USER_ERROR);
}

foreach ($phrases as $phrase) {
    $phrase = strtolower($phrase);
    if ( 0==strlen($phrase) ) {
        trigger_error('empty phrase', E_USER_ERROR);
    }
    $pos = strpos(strtolower($text), strtolower($phrase)); 
    if ($pos > -1) break;
}
// you probably should test ($pos > -1) here again

see also:
http://docs.php.net/preg_split
http://docs.php.net/trigger_error