警告:strpos()[function.strpos]:空分隔符

时间:2010-12-07 04:09:58

标签: php

我有一个使用strpos()方法的插件,并且在一个网站上我收到此错误

Warning: strpos() [function.strpos]: Empty delimiter. in /home/mysite/public_html/wp-includes/compat.php on line 55

任何想法可能导致的原因是什么?

摘自compat.php

if (!function_exists('stripos')) {
function stripos($haystack, $needle, $offset = 0) {
    return strpos(strtolower($haystack), strtolower($needle), $offset);
}
}

我的代码......

function myFunction($thePost)
    {
        $theContent = $thePost->post_content;
        $myVar1 = array();
        preg_match_all('/<a\s[^>]*href=\"([^\"]*)\"[^>]*>(.*)<\/a>/siU',$theContent,$myVar1);
        $myVar2 = 0;
        foreach ($myVar1[1] as $myVar3)
        {
            $myVar4 = $myVar1[2][$myVar2];
            $myVar5 = FALSE;
            $myVar6 = get_bloginfo('wpurl');
            $myVar7 = str_replace('http://www.','',$myVar3);
            $myVar7 = str_replace('http://','',$myVar7);
            $myVar8 = str_replace('http://www.','',$myVar6);
            $myVar8 = str_replace('http://','',$myVar8);
            if (strpos($myVar3,'http://')!==0 || strpos($myVar7,$myVar8)===0) return TRUE;
            $myVar2++;
        }
        return FALSE;
    }

2 个答案:

答案 0 :(得分:3)

有些东西传递一个空字符串作为Wordpress实现stripos()的第二个参数(并且它不是你上面粘贴的代码)。

我可以问你为什么使用PHP 4?

答案 1 :(得分:0)

在变量

上尝试添加双引号

更改此行:   if(strpos($ myVar3,'http://')!== 0 || strpos($ myVar7,$ myVar8)=== 0)返回TRUE;

成:   if(strpos(“。$ myVar3。”,'http://')!== 0 || strpos(“。$ myVar7。”,“。$ myVar8。”)=== 0)返回TRUE;