Lui: preg_match_all() [function.preg-match-all]: Compilation failed:

Hallo,

ich habe eine Fehlermeldung die nicht recht deuten kann, denn eigentlich ist der Syntax soweit ich ihn verstanden habe OK:

Warning: preg_match_all() [function.preg-match-all]: Compilation failed: missing ) at offset 35 in C:\xampplite\htdocs\get\index.php on line 8

Warning: preg_match_all() [function.preg-match-all]: Compilation failed: missing ) at offset 35 in C:\xampplite\htdocs\get\index.php on line 10

preg_match_all("|document.write('<(.*)setHaendlerHit|Uism",$data, $items, PREG_PATTERN_ORDER);  
if (count($items[1])==0) {  
    preg_match_all("|document.write('<(.*)setHaendlerHit|Uism",$data, $items, PREG_PATTERN_ORDER);  
    }  
    for ($i=0; $i<count($items[1]); $i++) {  
    preg_match_all('|<a href="(.*)" target="_blank" onclick="|Uism',$items[1][$i], $regs, PREG_PATTERN_ORDER);  
    echo "<b>&middot;</b> ".$regs[1][0]."<br>\n";  
    }
  1. ich habe eine Fehlermeldung die nicht recht deuten kann,

    Eine schließende Klammer fehlt - genau das sagt die Fehlermeldung auch aus, sogar exakt in welcher Zeile und an welchem offset.

    denn eigentlich ist der Syntax soweit ich ihn verstanden habe OK:

    Die Klammer hat eine Sonderbedeutung - du hast zwei öffnende Klammern aber nur eine schließende.

    1. Moin!

      Eine schließende Klammer fehlt - genau das sagt die Fehlermeldung auch aus, sogar exakt in welcher Zeile und an welchem offset.

      Die Klammer hat eine Sonderbedeutung - du hast zwei öffnende Klammern aber nur eine schließende.

      Und zwar hier: preg_match_all("|document.write('<(.*)setHaendlerHit|Uism",$data, $items, PREG_PATTERN_ORDER);

      Du wolltest vermutlich
      preg_match_all("|document.write\('<(.*)setHaendlerHit|Uism",$data, $items, PREG_PATTERN_ORDER);

      notieren.

      MFFG (Mit freundlich- friedfertigem Grinsen)

      fastix