2010-12-07 4 views
0

je utiliser un plugin qui utilise la méthode de strpos() et sur un site que je reçois cette erreurAvertissement: strpos() [function.strpos]: Empty delimiter

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

Toutes les idées que la cause probable de cela pourrait être?

extrait de compat.php

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

Mon code ...

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

Publiez votre code PHP s'il vous plaît, nous ne pouvons pas deviner ce que vous avez fait avec la fonction –

+3

Et avez-vous réellement _looked_ à la ligne 55 de /home/mysite/public_html/wp-includes/compat.php? Mes compétences de débogage psychique ne sont pas à la hauteur de Raymond Chen, mais même je peux comprendre que c'est probablement le meilleur endroit pour commencer :-) – paxdiablo

+0

http://stackoverflow.com/questions/4105067/php-what-does-warning-strpos-function -strpos-empty-delimiter-in-mean – Phil

Répondre

3

Quelque chose passe une chaîne vide comme second argument à la mise en œuvre de Wordpress de stripos() (et ce n'est pas le code vous avez collé ci-dessus).

Puis-je vous demander pourquoi vous utilisez PHP 4?

+0

Je viens de découvrir que PHP4 ne supporte pas stripos. Je vais envelopper la fonction dans une vérification de l'encapsuleur de la version PHP –

+0

@Scott Vous n'avez pas à le faire, Wordpress l'a déjà fait pour vous. – Phil

+0

Vous avez raison Phil, il manquait un paramètre en quelque sorte. –

0

AJOUT guillemets doubles TRY sur la sur la modification de variable

cette ligne: if (strpos ($ myVar3,! Http: // ') == 0 || strpos (myVar7 $, myVar8 $) === 0) renvoie TRUE;

en: si (strpos (". $ MyVar3.", 'Http: //')! == 0 || strpos (". $ MyVar7.", ". $ MyVar8.") === 0) renvoie VRAI;