Pete: String finden

Hallo,

ich möchte gerne den Text nach dem String <span class="style"> bis zum Zeichen / aus einer HTML-Datei finden.
Bekomme das aber leider nicht hin.
Da gibt es so viele String-Funktionen strlen, substr, strpos, strstr,...

Gruß,
Pete

  1. Hellihello

    ich möchte gerne den Text nach dem String <span class="style"> bis zum Zeichen / aus einer HTML-Datei finden.
    Bekomme das aber leider nicht hin.
    Da gibt es so viele String-Funktionen strlen, substr, strpos, strstr,...

    na, du brauchst doch einen regulären ausdruck, oder? http://de2.php.net/manual/de/function.preg-match.php

    Dank und Gruß,

    frankx

    --
    tryin to multitain  - Globus = Planet != Welt
    1. Hiho,

      ja gut. :)
      Aber wie funktioniert das nun genau mit der preg_match()-Funktion.
      Ich hab das auch verstanden aber kapier das ned.
      Vlt hast du en Beispiel auf Lager.

      Danke,
      Pete

      1. Hellihello

        wie sieht denn dein String genau aus? Und warum willst du ihn finden und so weiter. vielleicht gibts ja einen anderen Ansatz.

        Wenn du preg_match verstehst aber nicht kapierst, wirds etwas schwierig.

        Dank und Gruß,

        frankx

        --
        tryin to multitain  - Globus = Planet != Welt
        1. wie sieht denn dein String genau aus? Und warum willst du ihn finden und so weiter. vielleicht gibts ja einen anderen Ansatz.

          Der Text in dem gesucht werden soll:
          <span class=a>www.<b>de</b>.selfhtml.org/ - 25k - </span>

          Was ich haben will:
          de.selfhtml.org

          Wenn du preg_match verstehst aber nicht kapierst, wirds etwas schwierig.

          :D in dem Satz is irgendwas schief gelaufen.

          Gruß
          Pete

          1. Hellihello

              
            <?php  
              
            $subject = '<span class=a>www.<b>de</b>.selfhtml.org/ - 25k - </span>';  
            $pattern = '~<\/[b]>(.*?)\/~';  
            preg_match_all($pattern, $subject, $matches);  
            var_dump ($matches);  
              
            ?>  
            
            

            bringt:

            array(2) {
              [0]=>
              array(1) {
                [0]=>
                string(18) "</b>.selfhtml.org/"
              }
              [1]=>
              array(1) {
                [0]=>
                string(13) ".selfhtml.org"
              }
            }

            Dank und Gruß,

            frankx

            --
            tryin to multitain  - Globus = Planet != Welt
            1. Lieber frankx,

              $subject = '<span class=a>www.<b>de</b>.selfhtml.org/ - 25k - </span>';

              ...

              array(1) {
                  [0]=>
                  string(18) "</b>.selfhtml.org/"
                }
                [1]=>
                array(1) {
                  [0]=>
                  string(13) ".selfhtml.org"
                }

              und das "www"? Das sollte ja wohl auch noch in dem String enthalten sein!

              Liebe Grüße aus Ellwangen,

              Felix Riesterer.

              --
              ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
              1. Hellihello Felix,

                und das "www"? Das sollte ja wohl auch noch in dem String enthalten sein!

                eigentlich das "de". Aber dann muss das <b> weg. Die Aufgabenstellung ist da nicht kohärent, möchte ich sagen.

                btw: warum kann ich das xml deines Gästebuches nicht mit simplexml_load_file/string() öffnen?

                Dank und Gruß,

                frankx

                --
                tryin to multitain  - Globus = Planet != Welt
                1. Lieber frankx,

                  Die Aufgabenstellung ist da nicht kohärent, möchte ich sagen.

                  zugegeben. Aber man muss hier im Forum schon öfter zu Besuch gewesen sein, um zu lernen, wie man eine gute Frage/Aufgabenstellung formuliert... ;-)

                  btw: warum kann ich das xml deines Gästebuches nicht mit simplexml_load_file/string() öffnen?

                  Keine Ahnung. Ich verwende (ja offensichtlich) keine simplexml_-Funktionen. Wo genau liegt denn das Problem? Validiert die XML-Datei nicht? Oder liegt es am stand-alone-Doctype?

                  Liebe Grüße aus Ellwangen,

                  Felix Riesterer.

                  --
                  ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
                  1. Hellihello Felix,

                    Keine Ahnung. Ich verwende (ja offensichtlich) keine simplexml_-Funktionen. Wo genau liegt denn das Problem? Validiert die XML-Datei nicht? Oder liegt es am stand-alone-Doctype?

                      
                    Warning: simplexml_load_string(): validity warning : Attribute kuerzel of element unwort: already defined in M:\gaestebuch\sxml.php on line 9  
                      
                    Warning: simplexml_load_string():   grafik      CDATA #REQUIRED in M:\gaestebuch\sxml.php on line 9  
                      
                    Warning: simplexml_load_string():   ^ in M:\gaestebuch\sxml.php on line 9  
                      
                    Warning: simplexml_load_string(): validity warning : Attribute grafik of element unwort: already defined in M:\gaestebuch\sxml.php on line 9  
                      
                    Warning: simplexml_load_string():  > in M:\gaestebuch\sxml.php on line 9  
                      
                    Warning: simplexml_load_string():  ^ in M:\gaestebuch\sxml.php on line 9  
                      
                    
                    

                    sind aber nur warnungen, schlucken tut ers trotzdem und kanns auch verarbeiten.

                    Dank und Gruß,

                    frankx

                    --
                    tryin to multitain  - Globus = Planet != Welt
                    1. Lieber frankx,

                      sind aber nur warnungen, schlucken tut ers trotzdem und kanns auch verarbeiten.

                      OHA! Da gab es wohl offensichtlich kleine Fehler in der DTD! Die <!ATTLIST-Stellen sollten direkt bei den passenden <!ELEMENT-Stellen stehen, sodass auf "<!ELEMENT smiley" unmittelbar auch "<!ATTLIST smiley" folgt. Diesen Fehler habe ich nun behoben.

                      Ich gebe Dir hier eine korrigierte DTD (muss in die Datei gb-daten.dtd), werde selbige Korrektur auch als Update zu meinem Script herausgeben:

                      <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>  
                      <!DOCTYPE gaestebuch [  
                          <!ELEMENT gaestebuch (smilies, icons, messengers, unwoerter, eintraege)>  
                          <!-- definiert das Grundgerüst des Dateiformates -->  
                        
                          <!ELEMENT smilies (smiley)*>  
                          <!-- enthält die Zuordnungen von Kürzeln und Smiley-Grafiken -->  
                          <!ATTLIST smilies  
                              pfad        CDATA #REQUIRED  
                          >  
                          <!-- in diesem Verzeichnis sind die Smiley-Grafiken abgelegt -->  
                        
                          <!ELEMENT icons (icon)*>  
                          <!-- enthält die Zuordnungen von K?ln und Icon-Grafiken -->  
                        
                          <!ATTLIST icons  
                              pfad        CDATA #REQUIRED  
                          >  
                          <!-- in diesem Verzeichnis sind die Icon-Grafiken abgelegt -->  
                        
                          <!ELEMENT messengers (dienst)*>  
                          <!-- enthält eine Liste von Instant Messaging Diensten -->  
                        
                          <!ELEMENT unwoerter (unwort)*>  
                          <!-- enthält Eintragungen unerwünschter Wörter -->  
                        
                          <!ELEMENT einstellungen (schalter)*>  
                          <!-- enthält weitere Einstellungen für das Gästebuch -->  
                        
                          <!ELEMENT eintraege (eintrag)*>  
                          <!-- enthält die Gästebucheinträge -->  
                        
                          <!ELEMENT smiley EMPTY>  
                          <!-- definiert einen Smiley -->  
                          <!ATTLIST smiley  
                              kuerzel     CDATA #REQUIRED  
                              grafik      CDATA #REQUIRED  
                          >  
                          <!-- die Zuordnung von Kürzel und Smiley-Grafik wird in diesen Attributen vorgenommen -->  
                        
                          <!ELEMENT icon EMPTY>  
                          <!-- definiert ein Icon -->  
                          <!ATTLIST icon  
                              kuerzel     CDATA #REQUIRED  
                              grafik      CDATA #REQUIRED  
                          >  
                          <!-- die Zuordnung von Kürzel und Icon-Grafik wird in diesen Attributen vorgenommen -->  
                        
                          <!ELEMENT dienst EMPTY>  
                          <!-- hier wird das Link-Ziel für de diversen IMs abgelegt -->  
                          <!ATTLIST dienst  
                              name        CDATA #REQUIRED  
                              protokoll   CDATA #REQUIRED  
                          >  
                          <!-- diese Attribute steuern die Zuordnung von Dienst und Link-Ziel -->  
                        
                          <!ELEMENT unwort EMPTY>  
                          <!-- definiert ein Unwort (als PERL-kompatiblen regulären Ausdruck) -->  
                          <!ATTLIST unwort  
                              ausdruck    CDATA #REQUIRED  
                          >  
                        
                          <!ELEMENT schalter EMPTY>  
                          <!-- enthält Einstellungen für bestimmte Funktionalitäten des Gästebuchs -->  
                          <!ATTLIST schalter  
                              name        CDATA #REQUIRED  
                              inhalt      CDATA #REQUIRED  
                          >  
                          <!-- enthält den Einstellungswert für die jeweilige Funktionalität -->  
                        
                          <!ELEMENT eintrag (autor, nachricht)>  
                          <!-- definiert den Aufbau eines GB-Eintrags -->  
                          <!ATTLIST eintrag  
                              datum       CDATA #REQUIRED  
                              zeit        CDATA #REQUIRED  
                              ip          CDATA #IMPLIED  
                              versteckt   (ja|nein) "nein"  
                          >  
                        
                          <!ELEMENT autor (imessenger)*>  
                          <!-- definiert den Aufbau der Daten für den Autor eines Eintrags -->  
                          <!ATTLIST autor  
                              name        CDATA #REQUIRED  
                              email       CDATA #IMPLIED  
                              homepage    CDATA #IMPLIED  
                          >  
                          <!-- Die Daten zum Autor werden in diesen Attributen gespeichert -->  
                        
                          <!ELEMENT imessenger EMPTY>  
                          <!-- Eine Liste an Instant-Messenger-Protokollen, die der Autor benutzt -->  
                          <!ATTLIST imessenger  
                              name        CDATA #REQUIRED  
                              adresse     CDATA #REQUIRED  
                          >  
                          <!-- Der Aufbau der Informationen zu einem IM -->  
                        
                          <!ELEMENT nachricht (#PCDATA)>  
                          <!-- definiert den Aufbau der Daten für die Nachricht -->  
                      ]>
                      

                      Liebe Grüße aus Ellwangen,

                      Felix Riesterer.

                      --
                      ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)