preg_match_all -Problem ?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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;
    Last edited by php_php_2010; 23-06-2010, 19: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]

    Comment


    • #3
      ok (;
      Last edited by php_php_2010; 23-06-2010, 19:51.

      Comment


      • #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]

        Comment


        • #5
          doch wie würde das anders lauten(in dem Fall), das ist ja mein Problem gewesen ...mit preg_matchall
          Last edited by php_php_2010; 24-06-2010, 07:47.

          Comment


          • #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.
            Last edited by AmicaNoctis; 24-06-2010, 08: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]

            Comment

            Working...
            X