2012-01-28 4 views
0

se demandait si quelqu'un pouvait aider avec celui-ci. C'est la première fois que j'ai vu cette erreur.php pregmatch - La compilation a échoué

Avertissement: preg_match() [function.preg match]: Compilation a échoué: rien à redire à l'offset 9

qui est inrelation à cette partie de mon code:

(isset($_POST[$post_key]) && $misc[2] === true && ! preg_match($misc[0], $_POST[$post_key])) 

et mon plein (bit ce qui est pertinent) morceau de code est ci-dessous.

Les données envoyées sur est la suivante:

ajax-request true 
author   1 
epi    2 
jbid   781711001327010590 
message   dfdf 
type   send-invite 

Quelqu'un sait quelle raison ou ce qui cause l'erreur?

case 'send-invite' : 

    if(free_member_is_logged_in()) { 

     $post_array = array(
      'message' => array(
       '#^.*{3,500}$#is', 
       '<p class="error_message">Please enter a message between 3 and 500 characters.</p>', 
       true 
      ), 
      'epi' => array(
       '#^[0-9]+$#is', 
       '<p class="error_message">An internal error has occured. If this problem persists please contact support</p>', 
       true 
      ), 
      'author' => array(
       '#^[0-9]+$#is', 
       '<p class="error_message">An internal error has occured. If this problem persists please contact support.</p>', 
       true 
      ), 
      'jbid' => array(
       '#^[0-9]+$#is', 
       '<p class="error_message">Please specify a job which you have published.</p>', 
       true 
      ) 
     ); 

     $continue = true; 

     foreach($post_array as $post_key => $misc) { 
      if( 
        (! isset($_POST[$post_key]) && $misc[2] === true) 
       || 
        (isset($_POST[$post_key]) && $misc[2] === true && ! preg_match($misc[0], $_POST[$post_key])) 
       || 
        (isset($_POST[$post_key]) && $misc[2] === false && $_POST[$post_key] != '' && ! preg_match($misc[0], $_POST[$post_key])) 
      ) { 

       $continue = false; 
       $error_message = $misc[1]; 

      } 
      ${cleankey($post_key)} = res($_POST[$post_key]); 
     } 

Répondre

1

un message entre 3 et 500 caractères

Le regex #^.{3,500}$#is serait juste correct.

+0

merci pour l'aide, désolé n'a pas actualisé la page de sorte que la réponse ci-dessous me conduire à votre conclusion. Salut quand même –

Questions connexes