preg_match_all -Problem ?

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

  • preg_match_all -Problem ?

    Hallo ich bin neu bei Php,

    ich würde gerne "DEN_INHALT_AUSLESEN_1" und "DEN_INHALT_AUSLESEN_2" auslesen, dazu habe ich mir folgende gedanken gemacht:


    Orginalausschnitt:
    HTML-Code:
    <table class="Snipplet">
    
    <tbody>
    
                                        <tr >
                            <td class="image">
                                <a href="...">
                        <img src="....jpg" alt="..." class="..." />
    
                    </a>
                                        </td>
                <td class="name">
                    <dl class="List">
                                        <dt class="platform">...</dt>
                        <dd class="platform">
                                                                            <img src="..." alt="..."/>
                                                                    </dd>
    
                    
                        <dt class="name">...</dt>
                        <dd class="name">
                                                <a href="..." id="...">...</a>
                        
                                            </dd>
    
                    
                    
                                        <dt class="...">...</dt>
                        <dd>
                            <span class="...">...</span>
    
                            <span class="...">...</span>
                        </dd>
                                    
                    
                                                            <dt class="...">...</dt>
                        <dd class="..."><a href="...">...</a></dd>
                                        
                    
                                                            <dt class="...">...</dt>
                        <dd class="...">
                                                                </dd>
    
                                                        </dl>
                            </td>
                <td class="actions">
                    <ul class="klist">
                                                                                                                <li><a href="DEN_INHALT_AUSLESEN_1">...</a></li>
                                                                                                                        <li><a href="..." title="...">...</a></li>
                                                                                                                        <li><a href="...</a></li>
    
                                                                                                                        <li><a href="javascript:;" id="DEN_INHALT_AUSLESEN_2">...</a></li>
                                                                               </ul>
                </td>
            </tr>
    
    
    
    </tbody>
    
    </table>
    
     
    Lösungsansatz

    PHP-Code:
    //////////////////////////Basics/////////////////////////////////////////////

    $tews='...'//Achtung keine Dateiendung
    $tews1='file:///C:/xampp/htdocs/xampp/skript/test/';
     

    ////////////////////////////////////////////////////////////////////
     
    if($save=file_get_contents($tews)){

    ////////////////////////////////////////////////////////////////////

    preg_match_all('/<tr><td><ul><li><a href="(.*?)"><\/li>/<\/ul>/<\/td>/<\/tr>',$save,$hit);  //DEN_INHALT_AUSLESEN_1
    preg_match_all('/<tr><td><ul><li><a id="(.*?)"><\/li>/<\/ul>/<\/td>/<\/tr>',$save,$hit);   //DEN_INHALT_AUSLESEN_2




     

    for($i=0,$max count($Anzahl); $i $max$i++) {
     

    $datei=fopen($tews1.'a.html','a+');


    print 
    $hit[1][$i];
    fwrite($datei,$hit[1][$i]);
    fclose($datei); 



     
    }
    //////////Schleifenende


     
    }else{
    print
    "<div style='background:red'>$id  else file_get_contents </div><br>\n";

    print 
    "</nobr>";
    print 
    "</body>";
    print 
    "</html>";

    ?> 
    eigentlich soll das script nicht die Seite komplett einlesen, sondern nur DEN_INHALT_AUSLESEN_1/DEN_INHALT_AUSLESEN_2 auslesen.

    Ich glaub das liegt irgendwie an preg_match_all;
    Zuletzt geändert von php_php_2010; 23.06.2010, 20:53.

  • #2
    Hallo und willkommen im Forum,

    bitte beachte die Forenregeln. Deinen Beitrag kannst du mit dem Ändern-Button und danach dem Erweitert-Button bearbeiten. Bitte die Code-Tags (siehe Signatur) benutzen.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      ok (;
      Zuletzt geändert von php_php_2010; 23.06.2010, 20:51.

      Kommentar


      • #4
        Dass du mit deinem „Ich will anders sein als ihr Langweiler“-Einrückungsstil allen Helfern nur das Leben schwer machst, ist dir schon bewusst oder?

        Mit dem zweimaligen Aufruf von preg_match_all überschreibst du dir jeweils die Variable $hit. PCRE erlaubt auch Alternativen mit |, vielleicht kommst du damit besser.

        Deine regulären Ausdrücke sind an sich schon ungültig und müssten Fehler verursachen. Dazu steht auch was in den Forenregeln.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          doch wie würde das anders lauten(in dem Fall), das ist ja mein Problem gewesen ...mit preg_matchall
          Zuletzt geändert von php_php_2010; 24.06.2010, 08:47.

          Kommentar


          • #6
            Sorry, ich versteh die Frage nicht.

            Hast du dein Error-Reporting inzwischen aufgedreht?

            Edit: Wenn du wirklich nur solche a-Elemente in einer solchen Tabellenstruktur finden willst, wird das mit PCRE schwierig bis unmöglich. Mit DOM und XPath dagegen kann man sowas problemlos realisieren.
            Zuletzt geändert von AmicaNoctis; 24.06.2010, 09:26.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar

            Lädt...
            X