GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Abrufen von HTML-Quelltext oder Rich-Text aus der X-Zwischenablage

In X11 müssen Sie mit dem Eigentümer der Auswahl kommunizieren, sich nach unterstützten Formaten erkundigen und dann Daten im spezifischen Format anfordern. Ich denke, der einfachste Weg, dies zu tun, besteht darin, vorhandene Windowing-Toolkits zu verwenden. Z.B. mit Python und GTK:

#!/usr/bin/python

import glib, gtk

def test_clipboard():
    clipboard = gtk.Clipboard()
    targets = clipboard.wait_for_targets()
    print "Targets available:", ", ".join(map(str, targets))
    for target in targets:
        print "Trying '%s'..." % str(target)
        contents = clipboard.wait_for_contents(target)
        if contents:
            print contents.data

def main():
    mainloop = glib.MainLoop()
    def cb():
        test_clipboard()
        mainloop.quit()
    glib.idle_add(cb)
    mainloop.run()

if __name__ == "__main__":
    main()

Die Ausgabe sieht folgendermaßen aus:

$ ./clipboard.py 
Targets available: TIMESTAMP, TARGETS, MULTIPLE, text/html, text/_moz_htmlcontext, text/_moz_htmlinfo, UTF8_STRING, COMPOUND_TEXT, TEXT, STRING, text/x-moz-url-priv
...
Trying 'text/html'...
I asked <a href="http://superuser.com/questions/144185/getting-html-source-or-rich-text-from-the-x-clipboard">the same question on superuser.com</a>, because I was hoping there was a utility to do this, but I didn't get any informative responses.
Trying 'text/_moz_htmlcontext'...
<html><body class="question-page"><div class="container"><div id="content"><div id="mainbar"><div id="question"><table><tbody><tr><td class="postcell"><div><div class="post-text"><p></p></div></div></td></tr></tbody></table></div></div></div></div></body></html>
...
Trying 'STRING'...
I asked the same question on superuser.com, because I was hoping there was a utility to do this, but I didn't get any informative responses.
Trying 'text/x-moz-url-priv'...
http://stackoverflow.com/questions/3261379/getting-html-source-or-rich-text-from-the-x-clipboard

Um die Antwort von @rkhayrov zu ergänzen, gibt es dafür bereits einen Befehl:xclip . Genauer gesagt, es gibt einen Patch für xclip die zu xclip hinzugefügt wurde später im Jahr 2010, wurde aber noch nicht veröffentlicht, was das tut. Angenommen, Ihr Betriebssystem wie Debian wird mit dem Subversion-Kopf von xclip ausgeliefert (Änderung 2019 :Version 0.13 mit diesen Änderungen wurde schließlich 2016 veröffentlicht (und im Januar 2019 in Debian gezogen)):

So listen Sie die Ziele für die CLIPBOARD-Auswahl auf:

$ xclip -selection clipboard -o -t TARGETS
TIMESTAMP
TARGETS
MULTIPLE
SAVE_TARGETS
text/html
text/_moz_htmlcontext
text/_moz_htmlinfo
UTF8_STRING
COMPOUND_TEXT
TEXT
STRING
text/x-moz-url-priv

So wählen Sie ein bestimmtes Ziel aus:

$ xclip -selection clipboard -o -t text/html
 <a href="https://stackoverflow.com/users/200540/rkhayrov" title="3017 reputation" class="comment-user">rkhayrov</a>
$ xclip -selection clipboard -o -t UTF8_STRING
 rkhayrov
$ xclip -selection clipboard -o -t TIMESTAMP
684176350

Und xclip kann auch eine Auswahl setzen und besitzen (-i statt -o ).


Linux
  1. Wie kann man die Textauswahl umschalten oder deaktivieren, die an die Zwischenablage gesendet wird?

  2. Wispr-Tags von einem Fon-Authentifizierungsportal erhalten?

  3. Eine eingehende Mail von Text/plain zu Text/html ändern?

  4. Openssl von der Quelle installieren?

  5. Einige der Befehle davon ausschließen, im Bash-Verlauf gespeichert zu werden?

Probieren Sie den e3-Linux-Texteditor aus

So installieren Sie die neueste OpenSSL-Version von Source unter Linux

Wie erstelle ich ein Meldungsfeld von der Befehlszeile aus?

Die 10 besten Open-Source-Zwischenablage-Manager für Linux

Beste Linux-Texteditoren:Die 20 überprüften Text- und HTML-Editoren

Linux-Image aus der Zwischenablage