html tags entfernen

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

  • html tags entfernen

    hi

    hab folgendes problem

    http://redprox.telekom.at/plzabfr/xd...er=53641&BID=2


    diese seite speicher ich in einem string und jez möchte ich nur überprüfen ob "ADSL" verfügbar ist oder nicht..
    das problem ist ich kann den string nicht nach "adsl" durchsuchen =/

    könnt ihr mir vielleicht weiterhelfen !

    arbeite schon seit stunden daran =/

  • #2
    Re: html tags entfernen

    keinerlei ansatz erkennbar -> *verschieb* zu projekthilfe
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Dann poste doch mal deine Ansätze wenn du da schon seit Stunden dran arbeitest

      RegEx?
      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
      var_dump(), print_r(), debug_backtrace und echo.
      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

      Kommentar


      • #4
        PHP-Code:
        /*hab das script von einen anderen übernommen und komm jez nicht mehr weiter .. das script soll nach dem wort ADSL im string suchen */


        $reslt=file("http://redprox.telekom.at/plzabfr/xdsl_telnummer.asp?prod_id=99&kennzahl=$vorwahl&rufnummer=$nummer&BID=2");


        // $vorwahl und $nummer sind vom benutzer eingegeben

        /* make the result clean */
        for($xloop=0;$xloop<count($reslt);$xloop++)
        {     
            
        //$xkey=trim(preg_replace("/<tr>|<td>|(<\tr></td>/m","",$reslt[$xloop]));
            
            
        strip_tags("$reslt",$reslt[$xloop]);
            echo 
        "$xkey";

        // abfrage für adsl
        if($xkey=="ADSL")
            {
                
        $ykey=trim(preg_replace("#\<td\>\<b\>(.*?)\</b\>\</td\>#si",$reslt[$xloop+1]));
                
        $avail[$xkey]=$ykey;
            }
            }

        echo 
        "$ykey";

        //abfrage für adsl

        if (preg_match_all("/\b>ADSL\b/i""$xkey)) {
           echo 
        "Es wurde eine Übereinstimmung gefunden.";
        } else {
           echo 
        "Es wurde keine Übereinstimmung gefunden.";

        Zuletzt geändert von sackl; 03.08.2005, 16:15.

        Kommentar


        • #5
          willkommen im forum: http://www.php-resource.de/forum/sho...threadid=50454

          Kommentar


          • #6
            Wie wär´s damit

            PHP-Code:
            if (preg_match('/[\\W\\s]ADSL[\\W\\s]/i'file_get_contents($url))){
               echo 
            "Es wurde eine Übereinstimmung gefunden.";
            } else {
               echo 
            "Es wurde keine Übereinstimmung gefunden.";

            Zuletzt geändert von Tistorm; 04.08.2005, 14:10.

            Kommentar


            • #7
              hab die lösung gefunden

              PHP-Code:

              for($xloop=0;$xloop<count($reslt);$xloop++)
              {     
                  
              $xkey=$xkey+$reslt[$xloop];
                  
              $pos strpos ($reslt[$xloop], "ADSL");
                      if (!
              $pos) {}     
                          else { 
              $gefunden=1;}

              Kommentar


              • #8
                (Mir sind oben die Backslashes in der regex verschwunden, habe ich jetzt geändert)

                Hmm!

                Viele Wege führen nach Rom. Beim programmieren sollte
                man aus Performance-Gründen möglichst den kürzesten Weg
                nehmen! Erlaub mir also mal ein paar Anmerkungen:

                PHP-Code:
                for($xloop=0;$xloop<count($reslt);$xloop++) 
                In einer for-Schleife sollte man niemals eine count($array)-Abfrage
                einbauen. Tut man dieses werden bei jedem Durchlaufen
                der Schleife die Elemente des Arrays gezählt. Bei 1000
                Durchläufen also 1000 mal. Sofern man das Array nur ausliest,
                verändert es sich nicht, und man muss nur einmal zählen.
                Also Array Elemente zählen, in Variable speichern und Variable
                in for-Bedingung einbauen.



                PHP-Code:
                    $pos strpos ($reslt[$xloop], "ADSL");
                        if (!
                $pos) {}     
                            else { 
                $gefunden=1;} 
                Das führt natürlich zum Ergebnis, ist aber ziemlich (um es mal
                so auszudrücken) umständlich . if (!$pos) {} else { ist eine
                doppelt verneinte Abfrage, nach der Devise "Wenn nicht ...
                dann garnichts anderenfalls das ... " , die man durch "Wenn ... dann..."
                ersetzen kann/muss(!). Also:
                PHP-Code:
                  if ($pos) { 
                Da dich an $pos nur wahr oder unwahr interessiert, musst Du
                den Wert auch nicht in einer Variablen speichern:
                PHP-Code:
                 if (strpos ($reslt[$xloop], "ADSL")){    
                         
                $gefunden=1;

                reicht also aus!

                Davon abgesehen, um sich diesen ganzen Aufwand und die
                RechenPower zu sparen gibt es reguläre Ausdrücke, etc.
                Wenn Du Lust hasts, probiere mal aus wie lange Dein Rechner
                zur Ausführung Deiner Variante und den 4 1/2 Code, die
                Ich geschrieben habe, braucht.

                Beim Programmieren geht es nicht darum, was man hinschreiben
                muss, sondern was man weglassen kann!!!

                In diesem Sinne...
                Zuletzt geändert von Tistorm; 04.08.2005, 17:14.

                Kommentar


                • #9
                  danke für die infos

                  ich hab mir denen beitrag einmal lokal gespeichert und next time wirds besser ausschaun

                  Kommentar


                  • #10
                    und next time wirds besser ausschaun
                    Ich hoffe du meinst damit die formatierung deiner Beiträge gemäß den Regeln.

                    Kommentar

                    Lädt...
                    X