У меня есть плагин, который использует метод 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; }
Что-то пропускает пустую строку в качестве второго аргумента для реализации WordPress ' stripos()
(и это не тот код, который вы вставили выше).
Могу ли я спросить, почему вы используете PHP 4?
TRY ADDING двойные кавычки на переменной
измените эту строку: if (strpos ($ myVar3, 'http: //')! == 0 || strpos ($ myVar7, $ myVar8) === 0) return TRUE;
в: if (strpos (". $ myVar3.", 'http: //')! == 0 || strpos (". $ myVar7.", ". $ myVar8.") === 0) return TRUE;