![]() |
Anzeige: |
|
|||||||
| Schreibstube Jeder Besucher kann eigene Artikel und Hilfestellungen für die Infothek schreiben! |
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Stammuser
![]() Registriert seit: 14.02.2007
Alter: 17
Beiträge: 494
|
Autor: Destruction
Nabend, ich möchte euch eine ganz kurze Einführung in Preg_match schreiben. => Wofür benutzt man preg_match? Preg_match kann man nutzen um zu checken ob ein String einem bestimmten Muster entpricht oder um Daten aus einer Datei bzw. einer Homepage zu holen. Das 2. werde ich euch heute erklären ( es kommt dann evtl. noch eine weiterführung falls Interesse besteht mit allen RegEx Beschreibungen ) Der einfachste weg um Daten aus einer Datei zu holen ist (.*?) "." = Jedes beliebiges Zeichen "*" = Soll 1 mal oder mehr vorkommen "?" = Normalerweise : Darf vorkommen, muss es aber nicht -> In unserem Fall bringt dies, dass so wenig wie möglich rausgeholt wird. "(.*)"= So viel wie möglich. So und an welchem Beispiel könnte man es besser erklären als PPF Wir wollen uns die aktuellen Beiträge auslesen lassen. So schaut man sich den Quelltext von PPF an sieht man bei (fast) jedem Beitrag den folgenden Aufbau: HTML-Code:
<a href="http://www.paules-pc-forum.de/forum/ueber-das-forum/113010-heute-grosser-livechat.html" style="white-space:nowrap" ><strong>Heute großer Livechat!</strong></a></span> Also 1. Schritt: PHP-Code:
Der 2. Schritt ist nun unser preg_match... Wir benutzen jedoch preg_match_all , was die selbe Funktionen hat, jedoch gibt es einen entscheidenden Vorteil: preg_match_all durchsucht eine ganze Datei preg_match durchsucht eine Datei nur bis zum 1. Fund! Nehmen wir noch mal das Beispiel: HTML-Code:
<a href="http://www.paules-pc-forum.de/forum/ueber-das-forum/113010-heute-grosser-livechat.html" style="white-space:nowrap" ><strong>Heute großer Livechat!</strong></a></span> PHP-Code:
Die Zeichen die euch interessieren sollten: @ # / Ich habe nun zu dem @ gegriffen, da es in meinem String nicht vorkommt und ich somit die anderen @ zeichen nicht escapen muss. Hätte ich nun ein "/" genommen, hätte ich das </a> escapen müssen, d.h. ein "\" davor setzen müssen. Dies kennt ihr sicherlich auch schon aus anderen Funktionen. So der 2. Parameter ist der zu durchsuchende String, in unserem Falle $file. 3. Parameter: Die Suchergebnisse PHP-Code:
"?" = Darf 1 oder 0 mal vorkommen Wenn wir uns nun mit print_r($matches) das Ergebnis ausgeben lassen, sehen wir mehrere Arrays. Uns interessiert der 1. Array [0] . Unsere Ergebnisse sind nun in $matches[0][0] , $matches[0][1] , ... gespeichert. Um diese nun ausgeben zu lassen benutzen wir die "for" Schleife, die ich nun hier nicht erklären werde, da diese Schleife zu den Grundkentnissen gehört. PHP-Code:
( deswegen $i < 34 ) So ich hoffe ihr habt alles verstanden. Falls noch Interesse besteht kann ich das Tutorial erweitern und noch richtige RegEx Suchen erklären. MfG Geändert von Destruction (08.04.2009 um 02:39 Uhr) |
|
|
|
|
|
#2 (Direktlink) |
|
Stammuser
![]() Registriert seit: 14.02.2007
Alter: 17
Beiträge: 494
|
PS.: Freue mich auch über Feedback.
|
|
|
|
|
|
#3 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 07.12.2002
Ort: Oldenburg
Alter: 38
Beiträge: 11.854
|
Entschuldige, aber so können wir das nicht verwenden, selbst wenn ich den Text etwas umbaue. Dein Entwurf setzt einfach zuviel Vorwissen voraus.
Ich habe mir deinen Text durchgelesen und weiß immer noch nicht mehr als voher. Kannst du den Artikel vielleicht aus Sicht eines Laien schreiben?
__________________
Mit freundlichen Grüßen michi Geändert von michi (01.08.2009 um 00:53 Uhr) |
|
|
|
|
|
#4 (Direktlink) | |
|
Stammuser
![]() Registriert seit: 14.02.2007
Alter: 17
Beiträge: 494
|
Zitat:
Das setzt nicht "zu viel" Vorwissen voraus! Das sind standardbefehle die man kennt wenn man GANZ AM ANFANG vom Programmieren ist. Klar , für jemanden der keinen Plan von PHP hat ist es sicherlich schwer und deswegen steht auch dabei dass man ein wenig Grundwissen mitbringen sollte. Falls kein Interesse besteht, kann das Tutorial auch gerne gelöscht werden. MfG Geändert von michi (01.08.2009 um 00:54 Uhr) |
|
|
|
|
|
|
#5 (Direktlink) |
|
Super-Moderator
![]() Registriert seit: 29.08.2006
Ort: Nähe München
Beiträge: 2.812
|
Es ist grundlegend normales PHP, aber kein PHP-Neuling würde das lesen geschweige denn brauchen und benutzen wollen. Es ist gut zum nachlesen, aber mir fehlt eindeutig die Objektivität - und der Schreibstiel wurde auch nicht komplett eingehalten.
Vielleicht solltest du es nur überarbeiten und ein Wenig umformulieren. Weil preg_matches in PHP sind nicht jedermanns Sache, aber doch öfters wichtig und sinnvoll!
__________________
memodrop - mind the world |
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Regular expression mit preg_match | oelsi | PHP/MySQL | 2 | 20.05.2007 15:41 |
| Problem mit preg_match() | Eckard41 | PHP/MySQL | 3 | 23.02.2005 22:45 |