0
我使用this solution在wordpress中搜索短語。該功能是本搜索函數返回strpos()警告
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;
}
的事情是,因爲WordPress的4.0這個停止工作,並且我得到Warning: strpos(): Empty needle
警告。
我試過檢查$pos
是否爲空,空等,還有$text
和$phrase
,但沒有運氣。
任何人都有解決這個問題的辦法嗎?
編輯:由VolkerK答案是確定的,但我想搜索的不是所以我就返回一個錯誤:
if(empty($phrase)){
return;
}
在功能的開始。工作正常。 :D
這將返回'致命錯誤:空phrase',我想這是因爲'trigger_error( '空話',E_USER_ERROR)的;',對吧? – 2014-10-17 12:31:31