![]() |
| | Themen-Optionen |
| | Nach oben #21 |
| -Antichrist.Superstar- Registriert seit: 07.02.2007 Ort: .sH!
Beiträge: 29
|
also, bin dem fehler doch langsam auf der spur. wusste nicht das die reg. ausdrücke sooo streng sind, aber ich poste mal alles. also, der code im ersten post von mir, ist zu 80 % der von der fremden seite. da der org. code extrem lang ist, und ich der übersicht etwas gutes tun wollte, habe ich halt einige spalten rausgenommen. hier der aktuelle komplette php-code: PHP-Code: HTML-Code: <table class="table" width="420" border="0" cellspacing="1" cellpadding="3"> <tr> <td colspan="3"><b>Mitglieder</b></td> </tr> <tr> <td width="50%"><b>Spieler</b></td> <td width="20%"><b>Punkte</b></td> <td width="30%"><b>Status</b></td> </tr> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9554">adi</a></td> <td>81</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=10187">Ama5</a></td> <td>113</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=7364">As1an</a> <span class="online">online</span></td> <td>752</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9699">Banane</a></td> <td>87</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9582">Big-Mafioso</a></td> <td>67</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9731">Blubber-Bernd</a></td> <td>220</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9935">BusTy_RhyMes</a></td> <td>24</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=10883">chrischdi</a></td> <td>2</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9659">dafreestyle</a></td> <td>32</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9631">Darkvincent</a></td> <td>213</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9781">DaYj</a></td> <td>73</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9705">DeBiJaN</a> <span class="online">online</span></td> <td>380</td> <td>Administrator</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9581">Der_Momo</a></td> <td>294</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9605">DirkU0701</a></td> <td>228</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9826">Double-K</a> <span class="online">online</span></td> <td>292</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9753">Dragonmaster</a> <span class="online">online</span></td> <td>216</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9730">DurkDevil</a> <span class="online">online</span></td> <td>256</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9613">Eddy16x</a></td> <td>15</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=10051">Flymo</a></td> <td>53</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9700">Frieda</a></td> <td>4</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9869">FuzimitUzi</a></td> <td>48</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9830">GoLeo</a> <span class="online">online</span></td> <td>241</td> <td>Diplomat</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9712">GrayFox</a></td> <td>136</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9872">grek40</a></td> <td>223</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9797">Ichbinich</a></td> <td>60</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9559">Innocent</a> <span class="online">online</span></td> <td>302</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9627">jachero2</a></td> <td>277</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9695">Kakashi</a></td> <td>66</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9688">Kirmes</a></td> <td>289</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=10019">LordIK</a></td> <td>183</td> <td>Diplomat</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9667">Mariandel</a></td> <td>354</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9905">markus1860</a> <span class="online">online</span></td> <td>209</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9923">Master2000</a></td> <td>70</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9895">Mehrunes-Dagon</a></td> <td>189</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9807">miguelinhoo</a></td> <td>149</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9806">nickers</a> <span class="online">online</span></td> <td>218</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9720">Ollowain</a> <span class="online">online</span></td> <td>311</td> <td>Administrator</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9784">Overlord_Z</a></td> <td>279</td> <td>Administrator</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=10045">Paddel</a> <span class="online">online</span></td> <td>138</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9579">papalotti</a></td> <td>152</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=10037">Para_doXx</a> <span class="online">online</span></td> <td>192</td> <td>Administrator</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9676">Pip</a></td> <td>76</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9732">Prot</a> <span class="online">online</span></td> <td>336</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9799">racer27m</a></td> <td>120</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9665">Reiter</a></td> <td>315</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9615">SaibotTheKing</a></td> <td>306</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=7322">schnuffel123</a></td> <td>475</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9689">SchwanzusLongus</a></td> <td>296</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9808">seimir</a> <span class="online">online</span></td> <td>172</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9770">seppl</a></td> <td>63</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9954">Serdradox</a> <span class="online">online</span></td> <td>148</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9657">Sheek</a></td> <td>115</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9769">Sido</a></td> <td>270</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9641">sony</a></td> <td>11</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9956">Stupidboy</a></td> <td>92</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9693">suicide-iNc</a> <span class="online">online</span></td> <td>249</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9568">SupaGuerkle</a> <span class="online">online</span></td> <td>230</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9746">TobyNick</a></td> <td>235</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9736">tormentor81</a> <span class="online">online</span></td> <td>193</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9661">Tzeentch</a></td> <td>40</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9821">Unabomber</a></td> <td>185</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=10020">urmel</a> <span class="online">online</span></td> <td>139</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9829">Vojel</a></td> <td>95</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9564">zuli</a></td> <td>26</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9658">_BlackJack</a></td> <td>252</td> <td>Mitglied</td> <tr> <td><a href="/de/9/index.php?s=xxx&p=member&id=9973">_maudi_</a></td> <td>45</td> <td>Mitglied</td> </table> PHP-Code: |
| | |
| | Nach oben #22 |
| Johannes Schlichenmaier Registriert seit: 26.08.2005 Ort: Mannheim
Beiträge: 397
|
Klar, dass das nicht geht. Der Regex findet nur Links die so aussehen: Code: <a href="#"> Bei solchen Links Code: <a href="/de/9/index.php?s=xxx&p=member&id=9631"> Code: <tr>\s*<td><a href=".+">(.+)<\/a><\/td>\s*<td>(\d+)<\/td>\s*<td>Mitglied<\/td> //edit: Ich hab mal noch über deine Tabelle geschaut. Du weißt, dass die Regexp dort nicht immer anspringt, da sind extreme Unterschiede: Zum einen, dass nicht immer Mitglied in der Spalte steht und zum anderen, dass manchmal ein span mit online auftaucht. Ich habe dir - freundlich wie ich bin - mal einen Regex zusammengeschustert, der darauf passt: Code: <tr>\s*<td><a href=".+">(.+)<\/a>\s*(<span class="online">online<\/span>\s*)?<\/td>\s*<td>(\d+)<\/td>\s*<td>(.+)<\/td> Zöger nicht, zu fragen. PS: Wie immer ist der Regex mit dem Modifier U zu benutzen. Grüße, Jojo
__________________ In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int Geändert von Jojo (08.02.2007 um 21:57 Uhr). |
| | |
| | Nach oben #23 |
| -Antichrist.Superstar- Registriert seit: 07.02.2007 Ort: .sH!
Beiträge: 29
|
erstmal ein sorry meinerseits, da ich dachte das die ausdrücke nicht so "streng" wären. fehlanzeige *fg. aber aus fehlern lernt man ja. mit deinem ausdruck gehts nun auch wunderbar. sorry für die irreführung meinerseits. ich versuch mal deinen ausdruck zu erklären. <tr>\s*<td><a href=".+">(.+)<\/a>\s*(<span class="online">online<\/span>\s*)?<\/td>\s*<td>(\d+)<\/td>\s*<td>(.+)<\/td> <tr>\s* das \ ist ein escape-zeichen, das s ist mir pers. unklar und der * sucht nach weiteren zeichen. <a href=".+">(.+) der . gibt an, das ein beliebiges zeichen folgt. das + gibt an, dass mindestens ein zeichen folgen muss. die beiden () grenzen von anderen ausdrücken ab. das ? zwischendrinnen gibt halt 0 oder 1, also ja oder nein. noch genauer: es folgen zeichen oder nicht. der rest ist in dem sinne ja gleich, nur auf die versch. teile angeglichen. ich hoffe ich habs soweit richtig erklärt. ich muss aber sagen das der einstieg nicht zwingend der leichteste ist *fg. werd mir das ganze haargenau uner die lupe nehmen. nochmal nen danke an eure schnelle hilfe LG |
| | |
| | Nach oben #24 |
| Johannes Schlichenmaier Registriert seit: 26.08.2005 Ort: Mannheim
Beiträge: 397
|
Hmmm.... hast du dir das Tut auf regechsen angeschaut? Also ein regulärer Ausdruck besteht im Normalfall aus statischen und variablen Elementen. Ich versuch mal, meine Regex aufzuschlüsseln: erstmal stehen keine Anfangs- (^) oder Endzeichen ($). Das heißt, der reguläre Ausdruck muss nicht am Anfang des Strings anfangen und nicht am Ende aufhören. Dann kommt ein <tr>. Das heißt, damit ein String auf den Regex passen muss, muss zuerst ein <tr> stehen. Is klar, ne? ^^ Darauf folgt ein \s. Das Escapezeichen bedeutet eine Sondefunktion. Auf http://de2.php.net/manual/en/referen...ern.syntax.php kannst du die ganzen Sonderfunktionen nachlesen. \s steht für einen whitespace-Charakter, sprich Blank, Tab, Newline, etc. Das ist wichtig, weil eventuell vor dem <td> ein Zeilenumbruch und/oder ein Tab stehen kann. Nach dem \s steht der Quantifier *, welcher bedeutet, dass das vorhergehende Element ein- oder mehrmals vorkommen kann, aber nicht muss. Danach muss ein <td> stehen und danach ein <a href=". Dann kommt der Punkt, der, wie du richtig erwähnst für ein beliebiges Zeichen steht. Zusammen mit dem Quantifier + ergibt das die folgende Bedingung. Mind. ein beliebiges Zeichen. Dann muss ein "> folgen. und nun kommt ein Subpattern, das in Klammern eingefasst is. Im Grunde nutzt man die Klammern im Sinn, wie sie später nochmals auftritt, nämlich um einer näher definierten Zeichenfolge als Ganzes einen Quantifier zuzuordnen. Außerdem werden gefundende Subpattern im Ergebnis gesondert aufgeführt, was wir ja im Endeffekt wollen. Und zwar wollen wir ein beliebiges Zeichen mind. einmal bekommen. Danach kommt ein </a>, wobei der / escaped werden muss, weil er ansonsten eine andere Funktion bekommt. Danach wieder eventuell unbegrenzt viele Whitespaces und dann das ganze Subpattern <span class="online">online<\/span>\s* einmal oder keinmal (das bedeutet das ? nach der ")" ). Das \d+ bedeutet mind. eine Ziffer und steht in Klammern (genauso wie das (.+), weil wir den Bereich des gefunden Strings gesondert aufgefuhrt haben möchten. Ich hoffe, das war einigermaßen verständlich, Grüße, Jojo
__________________ In the beginning was the word and the word was content-type: plain/text heute code ich, morgen debug ich und uebermorgen cast ich die koenigin auf int |
| | |
| | Nach oben #26 |
| -Antichrist.Superstar- Registriert seit: 07.02.2007 Ort: .sH!
Beiträge: 29
|
so, sorry für den doppelpost jetzt. aber ich habe noch weiterführende probleme. vllt. ist das thema auch ein neuer thread wert, ich weiß es net. die ausgabe funzt soweit super, nun wollte ich das ganze ja aber in eine db speichern für spätere zwecke. die tabelle sieht so aus: id - nick - punkte - rang - status der teil, der die daten in die db schreiben soll so: (alles was ich jetzt poste baut auf das script in diesem thread auf) PHP-Code: wenn ich das so ausführe trägt er immer nur "Array[x]" ein (x = array zahl). habe schon mit implode, split und serialize gespielt, aber irgendwie nicht so ganz hinbekommen. ich möchte halt nicht alle user ein einer spalte haben, sondern jeden user einzeln (mit punkten usw...). irgendwie hauts net so hin wie ichs mir vorgestellt habe. bei google habe ich auch nichts gefunden was mich glücklich machen könnte. |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [PHP] Fremde Webseiten auslesen | WarrenFaith | Tutorials | 3 | 14.03.2006 15:59 |