preg_match Klassen auslesen

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

  • benutzer_michi
    antwortet
    Ich weiß das jetzt regex erstmal escaped werden muss, aber den Rest kann ich nicht.

    /<div id="fieldinput">(.*?) <div>(.*?) <\/div><\/div>/

    Erstmal nur die fieldinput-klassen reichen aus für mich.
    Zuletzt geändert von benutzer_michi; 01.09.2009, 21:02.

    Einen Kommentar schreiben:


  • onemorenerd
    antwortet
    Fall 1) <div class="info-value">XXX</div>
    Fall 2) <td class="fieldinput">xxx<div>XXX</div></td>

    So schauts auf den ersten Blick aus und nun kannst du mal selbst reguläre Ausdrücke draus basteln. Ob du die dann zu einem einzigen veroderst oder zweimal preg_match_all() aufrufst ist erstmal egal. Schritt für Schritt.

    Falls du von regulären Ausdrücken keine Ahnung hast, schau im Manual nach und zeig uns dann deinen Ansatz. Wir lösen dann gern den nächsten Knoten.


    Was sagst du eigentlich zu DOM? Weißt du was das ist, hast du es dir mal angeschaut? Dein Ziel ist auf beiden Wegen, Regex und DOM erreichbar. Aber ich habe den Eindruck, dass du mit Arrays und Funktionsaufrufen schon besser umgehen kannst als mit regulären Ausdrücken. Deswegen wäre der DOM-Weg für dich einfacher.

    Einen Kommentar schreiben:


  • benutzer_michi
    antwortet
    Deswegen wollt eich ja auch ein extra topic aufmachen. Also folgende Situation ich hatte auf einen PC die orginale Datei (die als zip) und von dem Pc mit dem ich jetzt schreibe hatte ich kein Quelltext, deswegen dacht ich mir weil sich der orginale Quelltext auf dem anderen PC befindet; vereinfache ich die ganze Geschichte ein wenig, da ich dachte das man über die Klasse "fieldinput" oder "e"(wie im alten Bsp.) alle Daten in ein Array speichern kann.

    Einen Kommentar schreiben:


  • Kropff
    antwortet
    Sag jetzt mal ganz ehrlich. Willst du mich auf den Arm nehmen? In der angehängten datei.htm gibt es kein einziges <td class="e">. Was bitteschön soll das? Kannst du nicht mal einfachstes HTML?

    Peter

    Einen Kommentar schreiben:


  • benutzer_michi
    antwortet
    Ja, sry. Ich dachte nur es wäre schön ,wenn mir jemand wie du helfen könnte ...

    Einen Kommentar schreiben:


  • benutzer_michi
    antwortet
    Datei hochgeladen !
    Angehängte Dateien

    Einen Kommentar schreiben:


  • Kropff
    antwortet
    Zitat von benutzer_michi Beitrag anzeigen
    Könntest du vielleicht von wert 11-23(gleiche Struktur, die sind alle von fieldinput) und wert 9; preg_match schreiben. Also wären das nur 2 Mal preg_match oder ...
    Hier gibt es keinen fertigen Code, sondern nur Hilfe zur Selbsthilfe. Wenn du ersteres erwartest, verschiebe ich es zur Projekthilfe. Ansonsten LIES AUCH MAL DAS, WAS ANDERE HIER SCHREIBEN. Sorry, aber musste jetzt raus.

    Peter

    Einen Kommentar schreiben:


  • benutzer_michi
    antwortet
    Könntest du vielleicht von wert 11-23(gleiche Struktur, die sind alle von fieldinput) und wert 9; preg_match schreiben. Also wären das nur 2 Mal preg_match oder ...

    Einen Kommentar schreiben:


  • Kropff
    antwortet
    Pack doch bitte mal die einzulesende Datei samt PHP-Code in eine Zip-Datei und häng sie an. Und schau dir auch mal den Hinweis von onemorenerd an, der könnte dir ebenfalls weiterhelfen.

    Peter

    Einen Kommentar schreiben:


  • benutzer_michi
    antwortet
    Also bitte nur den Code der einzulesenden Datei und die entsprechende Passage in der PHP-Datei.
    Es wird die komplette Datei eingelesen und dann die "wert1-wert26" ausgelesen und in eine extra Datei gespeichert .

    Die "Passagen" sind die rot gekennzeichneten Werte.

    Einen Kommentar schreiben:


  • onemorenerd
    antwortet
    Zitat von benutzer_michi Beitrag anzeigen
    Wie bereits erwähnt findet sich fast überall die gleiche Struktur wieder:
    Code:
    <td class="fieldinput"> <div>[COLOR=Red]wert26[/COLOR]</div></td>
    Die Klasse "fieldinput" ist meist da wo die Werte sind.
    "Fast" und "meist" kann man mit regulären Ausdrücken nicht abbilden. Da musst du schon eindeutige Erkennunsmerkmale finden, sowas wie "steht immer innerhalb von ...", "immer nach" oder "immer vor". Wenn es keine Merkmale gibt, die alle Fälle abdecken, musst du für jeden Fall getrennt solche Merkmale identifizieren und in einem regulären Ausdruck alle Fälle verodern.

    Warum machst du das eigentlich nicht mit DOM?

    Einen Kommentar schreiben:


  • benutzer_michi
    antwortet
    ich habe um die relevanten(!) Stellen gebeten
    Weil ich nicht wusste was relevant hier für ist habe ich alles gepostet ... aber danke für die schnelle Antwort

    Einen Kommentar schreiben:


  • benutzer_michi
    antwortet
    Die einzelnen Quelltext-Teile ergeben zusammen ein großen Gesamtquelltext( weil ich den Quelltext nicht hintereinander einfügen konnte ).
    Wie bereits erwähnt findet sich fast überall die gleiche Struktur wieder:
    Code:
    <td class="fieldinput"> <div>[COLOR=Red]wert26[/COLOR]</div></td>
    Die Klasse "fieldinput" ist meist da wo die Werte sind.

    Einen Kommentar schreiben:


  • Kropff
    antwortet
    Bitte keinen neuen Thread aufmachen. Und bitte auch nicht wahllos Code posten, ich habe um die relevanten(!) Stellen gebeten. Also bitte nur den Code der einzulesenden Datei und die entsprechende Passage in der PHP-Datei.

    Danke
    Peter

    PS: Wenn du schon meinst, alles hier zu präsentieren, dann pack es bitte in eine Zip-Datei und häng es an.

    Einen Kommentar schreiben:


  • benutzer_michi
    antwortet
    Code:
        <tr class="field">
          <div>
            <td class="fieldlabel"><div class="label"> <span>In:</span> </div> </td>
            <td class="fieldinput"> <div>[COLOR=Red]wert26[/COLOR]</div></td>
          </div>
        </tr>
    
    
            </table>
          </div>
          <div class="wizardFormControls">
            
          </div>
      </td></tr>
    
    </table>
          <p></p>
    
        <form action="" method="POST" name="frm">
    
        <input type="hidden" name="P r" value=" " />
        <input type="hidden" name="c " value="2" />
        <input type="hidden" name="it ef" value="Wizardef" />
        <input type="hidden" name="it orm" value="95" />
        <input type="hidden" name="n rm" value="" />
        <input type="hidden" name="am,mm,f m" value="90" />
        <input type="hidden" name="bak.,.m" value="" />
        <input type="hidden" name="skl.," value="1" />
        <input type="hidden" name="Ck,..,jnhder" value="@Uploader@" />
        <input type="hidden" name="Lm,sleg" value="@Bed@" />
        <input type="hidden" name="nd" value="" />
        
        
        </form>
      </div>
      </td></tr>
    </table>
    <table border="0" width="700px" id="TabAction">
    <tr><td align="center" height="300px"><!-- --></td></tr>
    </table>
    <!---->
        </div>
       </div>
      </div>
     
     <!----- Emlme  --->
                <table class="listing" width="100%" align="center">
                    <tr>
     <th>ckkllkd</th>
                        <th>,k.,.ln</th>
                        <th>mkky</th>
                        <th>date and time</th>
    
                        <th>coio9s</th>
                        <th>Stokokopus</th>
                    </tr>
    
                    <tr class="odd">
        <td align="center">400</td>
                      <td><div>A t ert.</div> </td>
                      <td><div>. </div> </td>
                      <td><div>1 7</div> </td>
    
                      <td><div></div> </td>
                      <td><div> t.</div> </td>
                    </tr>
    
    
                </table>
    
    <!----- E te  --->
                <table class="listing" width="100%" align="left">
                    <tr>
                        <th width="20px"></th>
                        <th>l</th>
                        <th>l</th>
                        <th>d</th>
                        <th>Sp</th>
                        <th>d</th>
                        <th>e</th>
                        <th>e</th>
                    </tr>
    
                    <tr class="odd"> <td>
                        <a href="javascript:openRegWindow('jDEik9');">
                        <img src="pic/copy_icon.gif" xwidth="16" xheight="11" border="0" title="EMail anzeigen." /></a>
                      </td>
                      <td><div> </div> </td>
                      <td><div> -Portal</div> </td>
                      <td><div>BE</div> </td>
                      <td><div>nl</div> </td>
                      <td><div>Senjjuir</div> </td>
                      <td><div>j</div> </td>
                      <td><div> jj</div> </td>
                    </tr>
    
                    
    
                </table>
    
    
        <script type="text/javascript">
              setHide1(document.getElementById('TabAction'),false);
              if (document.frm.CallUploader.value=='1') {
                Uploader(document.frm.LoadBeleg.value);
              }
        </script>
    
         </div>
      </td>
      </tr>
    </table>
    
      </div>
    <!----------------------------------- Unterste Zeile -------------------------->
      <div id="portal-footer">
      <table width="99%" cellspacing="0" cellpadding="0" border="0" class="forumline" align="center">
       <tr>
          <td>  
          </td>
          <td align="right"><b><font class=" "> </font></b></td>
        </tr>
        <tr><td height="3"></td></tr>
      </table>
      </div>
    </divx>
    </body>
    </html>
    Zuletzt geändert von benutzer_michi; 31.08.2009, 20:12.

    Einen Kommentar schreiben:

Lädt...
X