Autor |
Beitrag |
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Sa 12.06.10 19:44
Hallo,
ist es möglich die Zitat-Funktion so zu erweitern das man nur das Zitiert was man markiert hat. Wenn nichts markiert ist, dann soll der ganze Beitrag zitiert werden. Das wäre echt praktisch, weil ich gerne Selektiv zitiere.
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
BenBE
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: Sa 12.06.10 19:46
Ist glaube nicht so einfach wegen der Selektion.
Du kannst aber gerne: Zitat spalten verwenden und die nicht benötigten Teile entfernen ... So mach ich das dann meist.
_________________ Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 12.06.10 19:46
Der Vorschlag kam schonmal, glaube ich. Ansich wäre das eine prima Sache. Aber: Das Problem ist, dass man dann anhand der Markierung im HTML rausfinden muss, von wo bis wo die denn im BBCode ginge, um ein korrektes Zitat zu erstellen. Und das ist echt knifflig!
Ich denke, das Aufspalten von Zitaten muss da leider genügen.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
Greenberet
      
Beiträge: 339
Erhaltene Danke: 20
Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
|
Verfasst: Sa 12.06.10 20:23
Christian S. hat folgendes geschrieben : | Der Vorschlag kam schonmal, glaube ich. Ansich wäre das eine prima Sache. Aber: Das Problem ist, dass man dann anhand der Markierung im HTML rausfinden muss, von wo bis wo die denn im BBCode ginge, um ein korrektes Zitat zu erstellen. Und das ist echt knifflig!
Ich denke, das Aufspalten von Zitaten muss da leider genügen. |
Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| <script language=javascript> function getSelText() { var txt = ''; if (window.getSelection) { txt = window.getSelection(); } else if (document.getSelection) { txt = document.getSelection(); } else if (document.selection) { txt = document.selection.createRange().text; } else return; document.aform.selectedtext.value = txt; } </script> <input type="button" value="Get selection" onmousedown="getSelText()"> |
src: www.codetoad.com/jav...et_selected_text.asp
und die Sache mit dem BB Code sollte auch nicht so schwer sein.
Vorraussetzung: man selektiert nur texte innerhalb des posts.
Grob zusammengefasst:
1) Suchen des selektierten strings im originaltext
2) Bei ungleichheit auf BBCode checken, BB Code mit in den Reply packen
3) mit den weiteren zeichen bei 1) weitermachen
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: Sa 12.06.10 20:56
Schau Dir doch z.B. mal den BBCode für ein Zitat an, in dem die Referenz auf den zitierten Beitrag ist. Da ist der kopierte Text ganz anders als der, den Du als BBCode hast.
//edit: Auch wenn Quelltext mit kopiert wird, sind da dann plötzlich die Worte "Quelltext" und "markieren" drin (also das, was über einem Quelltext steht). Vielleicht dann noch der Alt-Text der Grafiken zum ein- und ausklappen von Quelltext. Oder jemand hat den Quelltext eingeklappt und kopiert dann!
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: Sa 12.06.10 22:04
Man könnte den Quelltext des Beitrags mit dem markierten Text abgleichen und so feststellen, ob sich ein markierter Teil in einem Tag befindet. Allerdings ist auch das immer noch eine ziemlich knifflige Angelegenheit.
|
|
Greenberet
      
Beiträge: 339
Erhaltene Danke: 20
Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
|
Verfasst: So 13.06.10 11:55
Christian S. hat folgendes geschrieben : | Schau Dir doch z.B. mal den BBCode für ein Zitat an, in dem die Referenz auf den zitierten Beitrag ist. Da ist der kopierte Text ganz anders als der, den Du als BBCode hast.
//edit: Auch wenn Quelltext mit kopiert wird, sind da dann plötzlich die Worte "Quelltext" und "markieren" drin (also das, was über einem Quelltext steht). Vielleicht dann noch der Alt-Text der Grafiken zum ein- und ausklappen von Quelltext. Oder jemand hat den Quelltext eingeklappt und kopiert dann! |
ja aber wo ist das Problem?
Bsp mit dem Code:
Markiert wurde "Quelltext: ..." das heißt falls dies auftritt müsste ein BBCode im originalpost kommen mit den Daten. Sprich der Teil des originalposts kann übernommen werden und "Quelltext:" wird im markierten übersprungen.
Das gleiche spiel kann man bei Zitaten auch anwenden.
Diese Problematik sollte sich eig mit Regex und einer mapping Table lösen lassen.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 13.06.10 12:03
Wenn in einem Posting in einem Programmiererforum das Wort "Quelltext:" vorkommt, ist das nun wirklich nicht eindeutig auf einen BBCode zurückzuführen.
Du darfst mir gerne mit mehr als ein paar hingeworfenen Stichworten zeigen, wie einfach das ist. Bis dahin werde ich es mit der Begründung, dass der Aufwand bei weitem nicht lohnt, nicht einbauen. 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
F34r0fTh3D4rk
      
Beiträge: 5284
Erhaltene Danke: 27
Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
|
Verfasst: So 13.06.10 12:20
Naja man hat ja Zugriff auf den BB kodierten Text, sodass man gucken kann, ob sich an der Stelle wo im markierten Text ein "Quelltext:" steht ein [delphi]-Tag befindet.
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 13.06.10 12:22
Ich muss ja aber erst einmal die passende Stelle finden, bevor ich nachgucken kann.
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 13.06.10 12:24
F34r0fTh3D4rk hat folgendes geschrieben : | Naja man hat ja Zugriff auf den BB kodierten Text, sodass man gucken kann, ob sich an der Stelle wo im markierten Text ein "Quelltext:" steht ein [delphi]-Tag befindet. |
Mag ja sein, aber so einfach ist es dennoch nicht. Im Grunde müsste man von vorne an die einzelnen Teile mit dem BB-Code abgleichen um so die Worte nacheinander zuzuordnen. Dann muss man noch schauen, dass man die BB-Codes alle korrekt öffnet und schließt, ...
Klar ist es möglich. Aber mit welchem enormen Aufwand für den kleinen Nutzen?
Mal abgesehen davon:
Wenn man jetzt einen Teil markiert und zitiert, dann hat man direkt nur noch einen Fetzen des Originalposts. Insbesondere bei längeren Posts wächst dann die Gefahr von Missverständnissen. Insbesondere, wenn dann doch mal was verrutscht.
Da teile ich lieber das Zitat gezielt dort, wo ich es möchte. Das ist nun wirklich kein Aufwand. 
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: So 13.06.10 12:39
Wenn du dich damit näher beschäftigen willst, F34r0fTh3D4rk, dann mach das doch  Dafür brauchst du ja keine Datenbank oder sonstiges Zeug, das nur die EE-Admins haben.
Aber ich denke, Texte abzugleichen ist nicht der richtige Ansatz, er ist viel zu ungenau. Ich würde etwas anderes vorschlagen: Im Firefox geben window.getSelection().anchorNode und window.getSelection().focusNode den Anfangs- und Endknoten der Markierung zurück. Was du machen müsstest, wäre, den Posting selbst zu parsen und dabei darauf zu achten, an welcher Stelle der Anfangs- bzw. Endknoten erstellt wird. Diese Positionen merkst du dir. So kann man zwar nicht mitten im Wort trennen, aber zumindest eine Absatzgenaue, sofern BB-Codes verwendet wurde, sogar noch genauere, Markierung wäre möglich.
Für BB-Code ist diese Möglichkeit ziemlich kompliziert, weil BB-Codes normalerweise mit regulären Ausdrücken geparst werden. Aber vielleicht bekommst du es ja hin... 
|
|
jaenicke
      
Beiträge: 19315
Erhaltene Danke: 1747
W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 13.06.10 12:45
Yogu hat folgendes geschrieben : | Im Firefox geben window.getSelection().anchorNode und window.getSelection().focusNode den Anfangs- und Endknoten der Markierung zurück. Was du machen müsstest, wäre, den Posting selbst zu parsen und dabei darauf zu achten, an welcher Stelle der Anfangs- bzw. Endknoten erstellt wird. |
Dann muss man den aber immer noch zuordnen. Das heißt man müsste im Grunde jedem Tag eine eigene ID geben. Etwas viel Aufwand, wie gesagt.
// EDIT:
Aber wenn jemand ne fertige Lösung anbietet, wird Christian vermutlich nicht abgeneigt sein.
Ich vermute aber mal das kann gerade niemand anbieten. 
|
|
Yogu
      
Beiträge: 2598
Erhaltene Danke: 156
Ubuntu 13.04, Win 7
C# (VS 2013)
|
Verfasst: So 13.06.10 12:53
|
|
|