amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Forum und Interna > TODO-Liste / Ideen [ - Suche - Neue Beiträge - Registrieren - Login - ]

1 2 3 4 -5- 6 7 8 [ - Beitrag schreiben - ]

23.01.2006, 13:38 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von _PAB_:
Ich bräuchte einen Weg, wie man per RegExp ein Muster mit kleinstmöglicher Größe matchen kann, also so:

Text:
"A ccc A ddd B eee B"

Ich möchte "A ddd B" matchen, wenn ich das mittels:
/A.*?B/ mache, erhalte ist aber "A ccc A ddd B",
weil das erste A den Anker darstellt, der mit dem kleinsten möglichen Inhalt bis B geht.

Das hängt natürlich von der Art von A ab. Für ein einzelnes Zeichen wäre es A[^AB]*B
Für ein Muster A müßte man entweder negative lookahead einsetzen, ala A(?:(?!A).)*B
oder Du wirst, was A und B angeht, konkreter, damit man eine effizientere Umformung finden kann. Bzw.
Zitat:
Weiß jemand Rat ?
Es sollte erst "A ddd B" durch "X ddd Y" ersetzt werden und danach:
"A ccc X ddd Y eee B" durch "X ccc X ddd Y eee Y".


geht es immer noch um die [quote]s? Da läßt sich bestimmt was finden, nach der Mittagspause...

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

23.01.2006, 15:33 Uhr

_PAB_
Posts: 3016
Nutzer
@Holger:
Schon klar, mit einzelnen Zeichen ist das alles sehr simpel.
Aber es geht um die Quotes und da geht das nicht so einfach.

[ - Antworten - Zitieren - Direktlink - ]

23.01.2006, 16:31 Uhr

Holger
Posts: 8116
Nutzer
Ok, das könnte so aussehen:
\[foo\]((?:[^\[]*+(?:(?!\[/?foo\]).)?)*+)\[/foo\]

(Hab jetzt quote durch foo ersetzt, in der Hoffnung, daß das Forum den Ausdruck dann nicht anfäßt--mmh scheint nicht zu helfen, aber Du kannst ja in der Datenbank nachsehen)

Hängt natürlich vieles von der verwendeten Engine/Programmiersprache ab. Das Ding benutzt jetzt possessive quantifiers und negative lookahead. Unterstützt nicht jede Engine.
Und wenn die Syntax der Sprache /regex/ verlangt, müssen natürlich noch backslashes vor den slashes eingefügt werden.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

23.01.2006, 17:11 Uhr

_PAB_
Posts: 3016
Nutzer
@Holger:
Muß mal testen, ob dieser Ausrduck funktioniert.
Zur Information, ich verwende preg_replace aus PHP:
http://de.php.net/manual/de/function.preg-replace.php

PS: Um eine Regexp 1:1 darzustellen, kannst Du das neue [code language="..."]-Tag verwenden:
RegExp code:
\[foo\]((?:[^\[]*+(?:(?!\[/?foo\]).)?)*+)\[/foo\]


2. PS: Backslashes vor unbekannten Tags werden jetzt belassen wie sie sind.

[ Dieser Beitrag wurde von _PAB_ am 23.01.2006 um 17:39 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

23.01.2006, 18:07 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von _PAB_:
PS: Um eine Regexp 1:1 darzustellen, kannst Du das neue [code language="..."]-Tag verwenden:


Heißt das, man kann auch Sprachen in's language-Attribute eintragen, die vom Syntax-Highlighting nicht unterstützt werden?
Ich frage nur, damit es nicht später Mißverständnisse bzgl. der "was wird unterstützt" Frage gibt...

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

23.01.2006, 18:56 Uhr

_PAB_
Posts: 3016
Nutzer
@Holger:
> Heißt das, man kann auch Sprachen in's language-Attribute eintragen,
> die vom Syntax-Highlighting nicht unterstützt werden?

Ich kann auf Anfrage gerne neue Sprachen mit-unterstützen.
Statt RegExp geht natürlich auch Perl...
Wenn Du eine nicht-unterstützte Sprache wählst, kannst Du einfach nicht erwarten, daß es immer genauso funktioniert, wie es in diesem Moment aussieht.

Generell gilt bei den language-Tags aber, daß die Darstellung (bis auf Farben und Schriftattribute) immer 1:1 ist.

[ - Antworten - Zitieren - Direktlink - ]

24.01.2006, 02:00 Uhr

_PAB_
Posts: 3016
Nutzer
@Holger:
> [...]*+
> (...)*+

Was bedeuted eigentlich dieser Teil: *+
Ist es nicht so, daß *? ein möglichst kleines Resultat liefert und * ein möglichst großes ?
Wenn es für "mindestens ein Zeichen" stehen soll, warum nimmst man dann nicht nur das: +

[ - Antworten - Zitieren - Direktlink - ]

24.01.2006, 07:22 Uhr

Solar
Posts: 3680
Nutzer
In Perl ist * "greedy", d.h. die RegExp versucht möglichst viele Zeichen zu matchen. Dazu kommt dann ? als "non-greedy-operator", d.h. versucht möglichst wenige Zeichen zu matchen.

Bei Deinem obigen Beispiel

A ccc A ddd B eee B

würde folgende RegExp "A ddd B" treffen:

.*(A.*?B)


[ - Antworten - Zitieren - Direktlink - ]

24.01.2006, 14:17 Uhr

Holger
Posts: 8116
Nutzer
Richtig, wenn man .*? schreibt, erzeugt man einen reluctant quantifier, der möglichst wenig matcht.

.*(A.*?B) ist aber ineffizient, weil der erste greedy Teil möglichst viel matcht (also bis zum Ende des Datenbankeintrags) und dann schrittweise verkleinert, bis der Rest matcht.

X*+ ist ein possessive quantifier, der genauso wie greedy quantifier so viel wie möglich matcht, aber dann nicht mehr verändert, spricht verkleinert werden darf.

Wenn ich also [^\[]* schreibe, kann innerhalb dieses Bereiches kein [quote] mehr vorkommen, ich weiß das, der dämliche regex-Parser aber nicht. Damit dieser den Match nicht verkleinert und rumprobiert, ob dort nicht doch ein [quote] match gefunden werden kann, benutze ich [^\[]*+

Damit weise ich den Parser an, den gefundenen maximalen Match zu verwenden.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

24.01.2006, 14:28 Uhr

Holger
Posts: 8116
Nutzer
Nachschlag: zu meinem Ausdruck oben für die [quote]s

Der Ausdruck formuliert innerhalb von [quote] und [/quote]: eine beliebig lange Folge von nicht "öffnende Klammer", gefolgt von einem optionalen beliebigen Zeichen (das muß dann ja ne Klammer sein), wenn der lookahead kein [quote] oder [/quote] findet.
Und von diesem Ausdruck dann beliebig viele Wiederholungen... Und genau deshalb (verschachtelte quantifier) sollte man hier auf keinen Fall greedy-Quantifier benutzen. Bevorzugt possessive q. oder atomic groups, zur Not auch reluctant.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

29.01.2006, 18:10 Uhr

Petra
Posts: 1121
Nutzer
Hallo Philippe,

ich hätte noch eine Idee oder/und Bitte für die Suchfunktion:

Derzeit werden die Ergebnisse immer für einzelne Beiträge aufgelistet.
Wäre es möglich, auch noch eine anwählbare Ausgabe: "Nur Threads
auflisten" zu machen?

--
[°¿°] Ciao, Petra

[ - Antworten - Zitieren - Direktlink - ]

29.01.2006, 20:31 Uhr

hjoerg
Posts: 3853
Nutzer
@_PAB_:
Zitat:
Zu TODO-Liste:

# Abonnierte Themenliste im Profil (ggf. mit Abbestellung)


Ja danke, sehr schön wollte ich noch sagen :D

Und mit der Abbestellung, z.B. Haken setzen, läßt sich da noch etwas machen? Weil die Liste wird ja mit der Zeit immer länger und man müßte ja jeden Thread wieder aufrufen, zumal man diesen vielleicht schon lange nicht mehr verfolgt. Oder eine Grenze, z.B.: 25 Thread oder eine bestimmte Dauer...

--
by WinUAE
hjörg :dance2:
Nethands
(Bild) http://hjoerg.kilu.net/hp/thumb.html


[ Dieser Beitrag wurde von hjoerg am 29.01.2006 um 20:33 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

30.01.2006, 01:16 Uhr

_PAB_
Posts: 3016
Nutzer
@hjoerg:
Der Direkt-Link zum abbestellen eines Themas ist in jeder Benachrichtigungs-eMail angegeben.
Man braucht den nur anklicken.
Das noch im Profil extra zu implementieren, halte ich für unnötig, da der benötigte Link auch jeweils mit nur einem Klick erreichbar ist.
Das mit "Haken setzen + Absenden klicken" ist für den Nutzer keine nennenswerde Vereinfachung.

[ - Antworten - Zitieren - Direktlink - ]

30.01.2006, 01:22 Uhr

_PAB_
Posts: 3016
Nutzer
@Petra:
Die Idee ist ganz gut, impliziert aber, daß dann jeder Treffer nur noch angezeigt wird, wenn das Thema noch nicht angezeigt wurde. Auch würde man dann den eigentlichen Treffer-Beitrag nicht anzeigen, weil es sonst konfusion gäbe, warum welcher Beitrag eines Themas als Treffer präsentiert wird und ein anderer nicht.

Faktisch hieße das, das Such-Resultat sähe gleich aus wie "nur Titel anzeigen", außer, daß es keine Duplikate gäbe und der eigentliche Autor nicht angezeigt wird, sondern derjenige, der das Thema eröffnet hat.

Habe ich das so richtig verstanden ?

[ - Antworten - Zitieren - Direktlink - ]

30.01.2006, 08:26 Uhr

hjoerg
Posts: 3853
Nutzer
Zitat:
Original von _PAB_:
@hjoerg:
Der Direkt-Link zum abbestellen eines Themas ist in jeder Benachrichtigungs-eMail angegeben.
Man braucht den nur anklicken.
Das noch im Profil extra zu implementieren, halte ich für unnötig, da der benötigte Link auch jeweils mit nur einem Klick erreichbar ist.
Das mit "Haken setzen + Absenden klicken" ist für den Nutzer keine nennenswerde Vereinfachung.


a) Themen abbestellen die *nicht* mehr per EMail zu gestellt werden

b) Nicht nur einen Haken, sondern z.B. alle oder die letzten 30 oder eben die ausgewählten.

Wird denn die Liste sonst nicht ewig lang?



--
by WinUAE
hjörg :dance2:
Nethands
(Bild) http://hjoerg.kilu.net/hp/thumb.html

[ - Antworten - Zitieren - Direktlink - ]

30.01.2006, 17:44 Uhr

_PAB_
Posts: 3016
Nutzer
@hjoerg:
Ich nehme es mal auf die Todo-Liste.
Aber ehrlich gesagt ist es schon so recht komfortabel gelöst.

[ - Antworten - Zitieren - Direktlink - ]

31.01.2006, 00:30 Uhr

Petra
Posts: 1121
Nutzer
@_PAB_:

nein, nicht ganz.

Ich mache mal ein Beispiel: Suche nach "YAM AND Postfach" mit der
Auswahl "Nur Titel anzeigen".

Ergebnis: Erstmal ist mir hierbei aufgefallen, dass die Titel gar
nicht mit durchsucht werden, denn es werden nur zwei Beiträge aus
dem Thread

http://www.amiga-news.de/forum/thread.php?id=21060&BoardID=1

gelistet. Würde der Titel mit durchsucht, müssten es viele Beiträge
mehr sein.



Aber kommen wir mal zu den beiden derzeit gelisteten Beiträgen:

Hier würde ich dann eben wahlweise nur den Thread selbst einmal
gelistet haben wollen.


Hintergrund ist der, dass eine Suche nach einem Wort, welches in
vielen Threads und in vielen Beiträgen vorkommt, eine sehr unüber-
sichtliche Ergebnisliste selbst im "Nur-Titel-Modus" ausgibt.
Es werden Beiträge aus ein und demselben Thread x-mal aufgezählt.
Mir würde da einmal reichen, wenn ich "Threadweise listen" ausge-
wählen könnte.





--
[°¿°] Ciao, Petra

[ - Antworten - Zitieren - Direktlink - ]

31.01.2006, 01:01 Uhr

_PAB_
Posts: 3016
Nutzer
@Petra:
Ich denke, ich werde die Anzeige von "nur Titel" bei der Suche grundlegend überarbeiten.
(Es würde dann "nur Themen anzeigen" heißen und die Resultate wären dann gruppiert.)

[ - Antworten - Zitieren - Direktlink - ]

01.02.2006, 18:33 Uhr

Holger
Posts: 8116
Nutzer
Ich glaube, folgende Seite sollte mal überarbeitet werden:

http://www.amiga-news.de/suche.php

Das ist die, die man bekommt, wenn man rechts oben auf "Suchen" klickt (wenn man mal wieder vergessen hat, daß oben mittig ein anderer "Suche" Link existiert).

Zuerst grübelt man eine Weile, bis man auf den Trichter kommt, daß man tatsächlich in den ersten beiden Formularen keinen Suchbegriff (sondern nur Kategorien) angeben kann, um dann festzustellen, daß nicht mal das funktioniert.

Und die Suchmaschinensammlung darunter setzt(e) offenbar mehr auf Quantität denn Qualität. Einige der Suchmaschinen existieren heute nicht mehr oder sind gar keine (mehr)

Vielleicht kann man die Seite auch ganz entfernen, da sich der Mehrwert gegenüber den drei Texteingabefeldern in Grenzen hält.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

02.02.2006, 09:03 Uhr

Petra
Posts: 1121
Nutzer
@Holger:

hast Recht, die ist uralt. Ich werde sie später ganz entfernen,
nutzt vermutlich kein Mensch mehr ;)


P:S.: Hier im Forum macht das besser _PAB_, auf der Hauptseite mache
ich das.

--
[°¿°] Ciao, Petra

[ Dieser Beitrag wurde von Petra am 02.02.2006 um 09:04 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

02.02.2006, 09:27 Uhr

Petra
Posts: 1121
Nutzer
@_PAB_

Wäre es möglich, bei den Mailbenachrichtigungen den Text innerhalb
von [quote] und [/quote] kursiv darzustellen?

Ich lese ja jeden Tag x Mailkopien von Beiträgen aus dem Forum,
es ist in den Mails echt schwer zu sehen (und verstehen), welcher
Text gequotet ist, und welcher nicht.

Für YAM z. B. würde es dafür reichen, wenn in der Mailbenachrichti-
gung das Quoten mit einem Schrägstrich eingeleitet und beendet
würde:

/[quote] Hier befindet sich der gequotete Text. Der wird jetzt
hier im Forum nicht interpretiert, weil ich einen Backslash vor
den UBB-Code gesetzt habe. /[/quote].

Die anderen Mailprogramme interpretieren einen Schrägstrich ver-
mutlich nicht, aber IMHO dürfte er auch nicht stören.

--
[°¿°] Ciao, Petra


P.S. Sehe gerade in der Mailbenachrichtigung, dass es so einfach, wie
ich es mir vorgestellt habe, mal wieder doch nicht geht, YAM will
pro Zeile einen Schrägstrich am Anfang und einen am Ende. Dann geht
es eben doch nicht. Schade.

[ Dieser Beitrag wurde von Petra am 02.02.2006 um 09:32 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

02.02.2006, 12:44 Uhr

_PAB_
Posts: 3016
Nutzer
@Petra:
Gequoteten Text sollte man besser mittels "> Text..." kennzeichnen.
Das verstehen dann auch die Mailprogramme.
Ich werde das mal so umsetzen, da Kursiv in Mails schon vergeben ist.

PS: Den Link auf die von Holger zitierte Suchseite habe ich entfernt.
Auf der Homepage steht der Link allerdings noch unter dem Wort "Suchen".

[ Dieser Beitrag wurde von _PAB_ am 02.02.2006 um 12:54 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

02.02.2006, 13:26 Uhr

Solar
Posts: 3680
Nutzer
@ Holger:

Deine Regexp bereitet mir immer noch Kopfschmerzen. Wenn [^\[]*+ schon alle Zeichen bis zum nächsten '[' matcht, ist der Kram in der Mitte (alle Zeichen die nicht der Anfang von [foo] oder [/foo] sind, verstehe ich das richtig?) dann nicht redundant?

[ - Antworten - Zitieren - Direktlink - ]

02.02.2006, 14:13 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Solar:
@ Holger:
Deine Regexp bereitet mir immer noch Kopfschmerzen. Wenn [^\[]*+ schon alle Zeichen bis zum nächsten '[' matcht, ist der Kram in der Mitte (alle Zeichen die nicht der Anfang von [foo] oder [/foo] sind, verstehe ich das richtig?) dann nicht redundant?

Nicht "alle Zeichen", sondern nur ein Zeichen, das nicht eine Einleitung von [foo] oder [/foo] ist. Dieses Zeichen ist zwangsläufig ein [, aber da dies schon sicher ist, braucht die regexp-Engine das nicht noch mal zu überprüfen. Außerdem ist '.' kürzer als '\['.
Damit soll das kleinste [foo]...[/foo] Paar gematcht werden, innerhalb dessen aber [bar] und [/bar] erlaubt sind.
Der Lookahead wird ausschließlich auf [-Zeichen innerhalb des Paares angewandt, während alle anderen Zeichen durch [^\[]*+ ohne Backtracking gematcht werden. Performanter geht's (vermutlich) nicht.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

03.02.2006, 11:36 Uhr

Petra
Posts: 1121
Nutzer
@_PAB_

Kannst du bitte auf der "Hilfe"-Seite hier

[ - Smilies - Text-Formatierungen - ]

zusätzlich noch den Link zur Forum-FAQ http://www.amiga-news.de/forum/forum_faq.php einbauen.
--
[°¿°] Ciao, Petra

[ - Antworten - Zitieren - Direktlink - ]

03.02.2006, 13:36 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Petra:
... Forum-FAQ http://www.amiga-news.de/forum/forum_faq.php ...

Weil ich das gerade sehe. In der Faq steht bei "Was sind Nachrichten-Icons?":
Zitat:
Sie können Ihrem Beitrag ein Icon (Symbol) hinzufügen.
Gemeint ist doch wohl eher, daß man einem Thread ein Icon verpassen kann, oder?

Und darunter in "Kann ich meine Beiträge editieren?" steht:
Zitat:
Wählen Sie dazu einfach Ihren Beitrag und klicken Sie dort auf "Edit".
Der Link wurde irgendwann in "Ändern" umbenannt.

mfg
--
Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]

03.02.2006, 14:31 Uhr

Petra
Posts: 1121
Nutzer
@Holger:

vielen Dank für deine Hinweise, habe die zwei Sachen korrigiert :dance2:
--
[°¿°] Ciao, Petra

[ - Antworten - Zitieren - Direktlink - ]

03.02.2006, 14:57 Uhr

Petra
Posts: 1121
Nutzer
Heute ist großer "Überarbeitungstag" :)

Ich habe auch die Info-Seite zum amiga-news.de-Chat überarbeitet:

http://www.amiga-news.de/chat_an.shtml
--
[°¿°] Ciao, Petra

[ - Antworten - Zitieren - Direktlink - ]

03.02.2006, 17:45 Uhr

_PAB_
Posts: 3016
Nutzer
@Petra:
> ... Link zur Forum-FAQ

ist eingefügt.

[ - Antworten - Zitieren - Direktlink - ]

03.02.2006, 20:15 Uhr

Petra
Posts: 1121
Nutzer
@_PAB_:

prima, dann kann ich den Link nämlich oben aus der Linkleiste
rausnehmen :)

--
[°¿°] Ciao, Petra

[ - Antworten - Zitieren - Direktlink - ]


1 2 3 4 -5- 6 7 8 [ - Beitrag schreiben - ]


amiga-news.de Forum > Forum und Interna > TODO-Liste / Ideen [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.