Ankündigung

Einklappen
Keine Ankündigung bisher.

parse Error bei:public static function

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • parse Error bei:public static function

    Ich erhalte für die Zeile, beginnend ab 'public static function', einen parse error

    Was ist falsch an dieser Datei?
    PHP-Code:
    <?php
    $string
    ="<html><body>[b]<a href=test>tester</a>[/b]<img src=test.jpg></body></html>";
    $t=array('script','body','html');

       public static function 
    removeTags($text,$tags_array){ // Parse error zeile 11
           
    $length strlen($text);
           
    $pos =0;
           
    $tags_array $array_flip($tags_array);
           while (
    $pos $length && ($pos strpos($text,'<',$pos)) !== false){
               
    $dlm_pos strpos($text,' ',$pos);
               
    $dlm2_pos strpos($text,'>',$pos);
               if (
    $dlm_pos $dlm2_pos)$dlm_pos=$dlm2_pos;
               
    $which_tag strtolower(substr($text,$pos+1,$dlm_pos-($pos+1)));
               
    $tag_length strlen($srch_tag);
               if (!isset(
    $tags_array[$which_tag])){
                   
    //if no tag matches found
                   
    ++$pos;
                   continue;
               }
               
    //find the end
               
    $sec_tag '</'.$which_tag.'>';
               
    $sec_pos stripos($text,$sec_tag,$pos+$tag_length);
               
    //remove everything after if end of the tag not found
               
    if ($sec_pos === false$sec_pos $length-strlen($sec_tag);
               
    $rmv_length $sec_pos-$pos+strlen($sec_tag);
               
    $text substr_replace($text,'',$pos,$rmv_length);
               
    //update length
               
    $length $length $rmv_length;
               
    $pos++;
           }
           return 
    $text;
       }
       echo 
    removeTags($string,$t);
    ?>

  • #2
    *g*

    Kommentar


    • #3
      sichtbarkeitsdefintionen wie public , private oder protected funcktionieren nur in klassen.
      du müsstest also das ganze in ein klasse packen oder dein public static entfernen.
      --
      kostenlose geschenklisten unter www.wunli.de

      Kommentar


      • #4
        ok habe das public rausgenommen, nun aber leider dies

        Fatal error: Function name must be a string in C:\...\htdocs\_debug_tmp.php on line 8

        Wie bekomme ich diese function hin?
        Danke!
        PHP-Code:
        <?php
        $string
        ="<html><body>[b]<a href=test>tester</a>[/b]<img src=test.jpg></body></html>";
        $t=array("script","body","html");

          function 
        removeTags($text,$tags_array){  
         
        $length strlen($text);
               
        $pos =0;
               
        $tags_array $array_flip($tags_array);//zeile 8
               
        while ($pos $length && ($pos strpos($text,'<',$pos)) !== false){
        ....
        ?>
        echo removeTags($string,$t);

        Kommentar


        • #5
          array_flip und nicht $array_flip
          Hinweis: In deiner while-schleife hast du $pos = strpos...
          ist das Absicht oder sollte das ein == sein?
          --
          kostenlose geschenklisten unter www.wunli.de

          Kommentar


          • #6
            Zitat von BlackHawkDC
            Hinweis: In deiner while-schleife hast du $pos = strpos...
            ist das Absicht oder sollte das ein == sein?
            Da das genze dann noch mit !== false verglichen wird, dürfte schon eine Zuweisung gemeint sein.
            Das Ergebnis eines Vergleichs auf !== false zu prüfen wäre irgendwie arg umständlich.
            **********************************
            Nein, ich bin nicht die Signatur.
            Ich putze hier nur.
            **********************************

            Kommentar

            Lädt...
            X