从 X 剪贴板获取 HTML 源代码或富文本

从 X 剪贴板获取 HTML 源代码或富文本

如何从 X 剪贴板获取富文本或 HTML 源代码?例如,如果您从 Web 浏览器复制一些文本并将其粘贴到 kompozer 中,它将粘贴为 HTML,并保留链接等。但是,xclip -o对于相同的选择,只会输出纯文本。我想将 HTML 拉出并放入文本编辑器中。

答案1

你也可以:

  • 从格式化的源复制。
  • 运行此命令从剪贴板中提取,转换为 HTML,然后(使用管道|)将该 HTML 放回剪贴板,再次使用相同的方法xclip
xclip -selection clipboard -o -t text/html | xclip -selection clipboard
  • 接下来,当您使用Ctrl+粘贴时v,它将粘贴 HTML 源代码。

更进一步,你可以把它变成捷径,这样你就不必每次都打开终端并运行精确的命令了。✨

要做到这一点:

  • 打开你的操作系统的设置(我这里是 Ubuntu)
  • 找到键盘部分
  • 然后找到快捷方式部分
  • 创建新的快捷方式
  • 设置姓名,例如:Copy as HTML
  • 然后作为快捷方式的命令,输入:
bash -c "xclip -selection clipboard -o -t text/html | xclip -selection clipboard"

笔记:请注意,它与上面的命令相同,但放在内联 Bash 脚本中。这是必要的,以便能够使用|(管道)将一个命令的输出作为下一个命令的输入。

  • 将快捷键设置为您想要的任意组合,最好不要覆盖您使用的其他快捷键。就我而言,我将其设置为:Ctrl++Shiftc

  • 此后,您可以正常复制一些格式化的文本:Ctrl+c
  • 然后,在粘贴之前,使用以下命令将其转换为 HTML :Ctrl++Shiftc
  • Ctrl接下来,当您使用+粘贴时v,它会将内容粘贴为 HTML。

答案2

回答对于这个问题的 stackoverflow.com 分支,我建立了一个ghetto 命令行客户端来获取该信息。

用法

clipcli [-h] [-f FILE] [-d] [-l] [TARGET]

positional arguments:
  TARGET                display the contents of this target

optional arguments:
  -h, --help            show this help message and exit
  -d, --debug           enable debug tracing
  -f FILE, --file FILE  the file to which output will be directed
  -l, --list            list available targets

例子:

$ clipcli text/html
some text with <em>emphasis</em>

其工作方式,甚至不同目标的可用性,似乎很大程度上取决于提供剪贴板数据的应用程序。更多信息请访问stackoverflow 问题

答案3

对你有用吗xclip -o -selection secondaryxclip -o -selection clipboard

这些可以缩写为

xclip -o -se s 

xclip -o -se c

相关内容