修改要视为HTML

时间:2016-11-05 15:27:14

标签: python html autohotkey

当我在网络上“复制图像”时(通过突出显示图像和ctrl + C)然后将其传递到HTML WYSIWYG编辑器(不是源代码编辑器)的文本视图中,将显示图片。即使我粘贴在文本编辑器(源代码编辑器)中,剪贴板的内容也被编辑器理解为html代码。

例如,如果我只是在文本编辑器中粘贴“<img src="someURL" />,它将在源代码中添加为“<p>&lt;img src="someURL" /&gt;</p>”,因此编辑器不会将此剪贴板理解为html代码。

那么我应该如何修改剪贴板的内容,以便HTML WYSIWYG编辑器将​​其理解为html代码,即使我在文本视图中粘贴它(不是源代码编辑器)?

我想要做更多细节:

当我有一个存储在剪贴板中的图像的URL时,我希望能够将图像添加到HTML WYSIWYG编辑器,而无需切换到源代码编辑器。所以我想转换剪贴板的内容(通过在URL之前和之后添加一些代码),所以我的HTML WYSIWYG编辑器将​​其理解为HTML代码(就像上面提到的例子一样)。

编辑:为了更好地针对这里的答案,我试图实现。当我使用shareX上传图片时,ShareX会自动将此(私有)可共享URL存储在剪贴板中。 https://drive.google.com/open?id=XXXX 此代码以嵌入格式转换它。但我仍在寻找一种将其存储为html格式的方法。

#URL_to_Picture.py 
#
#(xxx=FileID)
#
#You need that kind of URL to be able to embed the picture in an editor:  https://drive.google.com/uc?export=view&id=XXXX
#
#This script does a part of the job by converting Google drive URL into an embedded (and permanent) link:



from jaraco import clipboard
UrlShareX = clipboard.paste_text()
UrlShareX=UrlShareX.replace("https://drive.google.com/file/d/", "")
UrlShareX=UrlShareX.replace("/view?usp=drivesdk", "")
UrlShareX=UrlShareX.replace("/view?usp=sharing", "")
UrlShareX=UrlShareX.replace("https://drive.google.com/open?id=", "")
URL= '<img src="https://drive.google.com/uc?export=view&id={}" />'.format(UrlShareX)
clipboard.copy_html(URL)

尝试使用ShareX:

  1. 您必须在ShareX菜单中设置对Google云端硬盘的访问权限: 目的地/目的地设置/谷歌驱动器。
  2. 您必须设置ShareX菜单:“上传任务后”到“将URL复制到 剪贴板”

2 个答案:

答案 0 :(得分:0)

你可以这样做:

  1. 安装HtmlClipboard:复制脚本,将其保存为HtmlClipboard.py C:\ Python ## \ Lib \ site-packages \
  2. 将下面的脚本保存为image_link_as_html.py(我在您的问题中使用了一些代码):
  3. 在步骤中为脚本创建一个shorcut(右键单击文件image_link_as_html.py,然后选择创建一个shorcut)
  4. 右键单击shorcut,选择Properties,然后在Shorcut键中添加键盘快捷键。
  5. 那就是它。当我们在剪贴板中有一个图像网址时,您只需按下键盘快捷键即可直接将图像粘贴到编辑器的html模式中。

    image_link_as_html.py(Python34):

    from tkinter import Tk
    root = Tk()
    root.withdraw()
    image_url = root.clipboard_get()
    
    # send <img src="https://image_url" alt="" />  to an "HTML format clipboard"
    import HtmlClipboard
    HtmlClipboard.PutHtml("<img src=\"http://"+image_url+" \" alt=\"\"/>")
    

    要解决有关ShareX的部分,您可以改用此脚本:

    from tkinter import Tk
    root = Tk()
    root.withdraw()
    UrlShareX = root.clipboard_get()
    
    # remove everything except the file google ID: this part is not needed 
    UrlShareX=UrlShareX.replace("https://drive.google.com/file/d/", "") 
    UrlShareX=UrlShareX.replace("/view?usp=drivesdk", "")
    UrlShareX=UrlShareX.replace("/view?usp=sharing", "")
    UrlShareX=UrlShareX.replace("https://drive.google.com/open?id=", "")
    UrlShareX=UrlShareX.replace("/view", "")
    
    # send <img src="https://drive.google.com/uc?export=view&amp;id=xxx " alt="" />  to an "HTML format clipboard"
    import HtmlClipboard
    HtmlClipboard.PutHtml("<img src=\"https://drive.google.com/uc?export=view&id="+UrlShareX+" \" alt=\"\"/>")
    

答案 1 :(得分:0)

<块引用>

我希望能够将图像添加到 HTML WYSIWYG 编辑器而无需切换到源代码编辑器

AHK 解决方案:使用像 ctrl+shift+v

这样的热键

剪贴板中有纯文本:https://cdn.sstatic.net/Img/teams/teams-illo-free-sidebar-promo.svg?v=47faa659a05e
进入 WYSIWYG 编辑器,按 ctrl+shift+v,它会以 HTML 格式粘贴
HTML 格式是剪贴板格式,因此将显示图像。


你需要的在这里:WinClipv2\imgSrc to HTML Format\src in clip.ah2
我将代码放在 repo 中,因为有一个库要包含: https://github.com/FuPeiJiang/WinClipv2
阅读 README.md