我有一个使用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;
}
答案 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;