[gelöst] php, preg_match, Probleme mit der Syntax

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
shwepsi
Mitglied
Beiträge: 1697
Registriert: 02.06.2003 14:37
Wohnort: NRW - immer dem Monitorleuchten folgen...
Kontaktdaten:

[gelöst] php, preg_match, Probleme mit der Syntax

Beitrag von shwepsi »

Hallo,
ich versuche gerade aus einem Text einen Teil herauszufiltern.
Dieser Text sieht in etwa so aus:

Code: Alles auswählen

<!----><a href=\"show_profile.php?uid=197542\">
ich muss nach diesem Part suchen, da einige male das show_profile kommt
am <!----> erkennt man das es das richtige ist
Haben will ich schliesslich die Nummer, die eine beliebige Länge haben kann, darum habe ich von strstr() & Co abstand genommen.

Ist das irgendwie möglich? Und wenn ja wie ist der erste Parameter von preg_match, oder würdet ihr das ganz anders machen??

EDIT: gelöst, vergessen hatte anzumerken
Zuletzt geändert von shwepsi am 13.07.2005 16:05, insgesamt 1-mal geändert.
Die Weisheit verfolgte mich sekundenlang...
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Re: php, preg_match, Probleme mit der Syntax

Beitrag von Blutgerinsel »

shwepsi hat geschrieben:Ist das irgendwie möglich?
ja
Und wenn ja wie ist der erste Parameter von preg_match
Suche nach der eierlegenden Wollmilchsau ist wohl der treffendere Topictitel als Problem
oder würdet ihr das ganz anders machen??
ja und zwar 2 Tags in der Art

[uid="5345"]Profil von XY[/uid]
[uid]5345[/uid]

Im Grunde dennoch zu wenig Informationen ob wie und was nochmals für was verwendet wird oder für den Fall XY und Fall ZZ etc.

Anm.: Ich sehe nicht mal deine Versuche :roll:
shwepsi
Mitglied
Beiträge: 1697
Registriert: 02.06.2003 14:37
Wohnort: NRW - immer dem Monitorleuchten folgen...
Kontaktdaten:

Re: php, preg_match, Probleme mit der Syntax

Beitrag von shwepsi »

Edit hat geschrieben:So, das ist eine Möglichkeit, aber zufrieden bin ich noch nicht:
'/<!----><a href="show_profile.php\?uid=([0-9]{4}|[0-9]{5}|[0-9]{6}|[0-9]{7}|[0-9]{8})">/'
zu bemängeln ist das ich für jede Länge ein subpattern machen muss, das geht doch sicher auch einfacher ...
Blutgerinsel hat geschrieben:
shwepsi hat geschrieben:Ist das irgendwie möglich?
ja
na nett das du schon fast geholfen hast
Blutgerinsel hat geschrieben:
shwepsi hat geschrieben:Und wenn ja wie ist der erste Parameter von preg_match
Suche nach der eierlegenden Wollmilchsau ist wohl der treffendere Topictitel als Problem
Empfehlung: der Knigge, eine schöne Lektüre
Blutgerinsel hat geschrieben:
shwepsi hat geschrieben:oder würdet ihr das ganz anders machen??
ja und zwar 2 Tags in der Art

[uid="5345"]Profil von XY[/uid]
[uid]5345[/uid]
hmm ... blöd nur das ich da keinen Zugriff habe.
Es geht um genau zu sein um das portieren eines Funpic Boards auf phpBB. Das Funpic da kein Backup gibt ... ist ärgerlich, und deshalb zerlege ich halt die HTML Seiten...
deine Möglichkeit ist schön ... aber hier leider nicht möglich...
Blutgerinsel hat geschrieben:Im Grunde dennoch zu wenig Informationen ob wie und was nochmals für was verwendet wird oder für den Fall XY und Fall ZZ etc.
Naja, stell dir eine ellenlange html Datei vor, von funpic.de
Die gesuchte Stelle ist an dem <!----> & dem direkt darauffolgendem <a href="show_profile.php?uid= zu identifizieren. Das <!----> kommt je nach Beitrag mehrfach vor, und das show_profile selber auch bis zu 3 mal
(in die Tabellenzellen zerlegt hat)
und ich brauche halt da das <!----><a href="show_profile.php?uid=197542">

deutlich genug? oder willst du den html Code?
(von mir aus inkl. dem Rest, der bisher UID des Posters, posting time, posting title, posting_id, poster (- moderatoren Anhängsel) und editet am herausfiltert und in einem Array abbildet. Dabei werden die Sachen schon wieder mit unhtmlspecialchars bearbeitet (nein, kein PHP befehl, preg_replace war die Lösung), da phpBB sonst das & aus &auml; in ein Entity verwandeln würde.
Blutgerinsel hat geschrieben:Anm.: Ich sehe nicht mal deine Versuche :roll:
ich habe zig Versuche, aber habe erst zum schluss die Versuche in Kommentare gepackt.
Hier die die ich dort noch habe:
'#<!----><a href="show_profile.php?uid=([0-9])"#'
"/\[<!----><a href="show_profile.php\?uid=(\#[0-9])"/"
'#<!----><a href="show_profile.php?uid=(0-9)"#'
'[<!----><a href="show_profile.php?uid=]([0-9])["]#'
'[<!----><a href=\"show_profile.php\?uid=]([0-9])["]#'

ich hoffe das reicht dem Meister jetzt und er kann mir vielleicht eine Lösung bieten. Nett wäre auch eine Erklärung warum so und nicht anders, diese ist aber nicht sooo wichtig, schliesslich kenne ich php.net auch, und kann es nachlesen und mir dann erschliessen.
Die Weisheit verfolgte mich sekundenlang...
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Was du suchst ist das + Zeichen, welches für "ein oder mehr Zeichen" steht; also z.B.

Code: Alles auswählen

<!----><a href=\"show_profile.php?uid=([0-9]+)\">
Statt [0-9] kannst du übrigens auch \d (bzw. in einem String dann \\d) verwenden.

Siehe auch http://de.php.net/manual/de/reference.p ... syntax.php
KB:knigge
shwepsi
Mitglied
Beiträge: 1697
Registriert: 02.06.2003 14:37
Wohnort: NRW - immer dem Monitorleuchten folgen...
Kontaktdaten:

Beitrag von shwepsi »

Pyramide hat geschrieben:Was du suchst ist das + Zeichen, welches für "ein oder mehr Zeichen" steht; also z.B.

Code: Alles auswählen

<!----><a href="show_profile.php?uid=([0-9]+)">
Statt [0-9] kannst du übrigens auch \d (bzw. in einem String dann \\d) verwenden.

Siehe auch http://de.php.net/manual/de/reference.p ... syntax.php
danke !!
*das einige male gebrauchen kann*
Die Weisheit verfolgte mich sekundenlang...
Aber sie überholte mich und war fortan nicht mehr gesehen !!!
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Auch dieser Patternauswerter könnte für dich von Vorteil sein
-> http://pcre.nophia.de/evaluate/index.php

daneben noch etliche Erklärungen zu Metazeichen, Quantifier etc.
-> http://pcre.nophia.de/explain/index.php

und sogar noch dieses Tutorial
-> http://www.php-resource.de/tutorials/read/10/1/
Antworten

Zurück zu „Coding & Technik“