如何用AutoHotkey粘贴仅显示‘link’文字的带超链接HTML片段?
解决AutoHotkey粘贴带超链接的HTML文本问题
要实现粘贴后仅显示带超链接的link文字,核心是让剪贴板包含HTML格式内容,而非纯文本。以下是具体实现代码:
; 定义要插入的HTML代码片段 htmlContent := "<p><a href=""https://www.html.it/"" rel=""nofollow noreferrer"">link</a>.</p>" ; 绑定快捷键,示例为Ctrl+Shift+L ^+L:: ; 清空剪贴板 Clipboard := "" ; 构建剪贴板所需的HTML格式头部 Clipboard := "Version:0.9`nStartHTML:00000000`nEndHTML:00000000`nStartFragment:00000000`nEndFragment:00000000`nStartSelection:00000000`nEndSelection:00000000`n" Clipboard .= "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">" Clipboard .= "<html><body>" Clipboard .= htmlContent Clipboard .= "</body></html>" ; 修正格式标记的位置,确保系统识别HTML格式 StringReplace, Clipboard, Clipboard, StartHTML:00000000, StartHTML:%StrLen("Version:0.9`n")%, All StringReplace, Clipboard, Clipboard, EndHTML:00000000, EndHTML:%StrLen(Clipboard)%, All StringReplace, Clipboard, Clipboard, StartFragment:00000000, StartFragment:%StrLen("Version:0.9`nStartHTML:00000000`nEndHTML:00000000`n") + StrLen("<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">`n<html><body>")%, All StringReplace, Clipboard, Clipboard, EndFragment:00000000, EndFragment:%StrLen(Clipboard) - StrLen("</body></html>")%, All ; 等待剪贴板就绪 ClipWait, 2 ; 发送粘贴命令 SendInput, ^v return
关键说明:
- Windows剪贴板的HTML格式需要特定头部标记,代码自动补全了必要结构,确保Word、网页编辑器、富文本框等目标应用能识别并渲染超链接。
- 快捷键可自行修改,比如把
^+L换成!v(Alt+V)等你习惯的组合。 - 仅支持富文本输入框,纯文本框无法显示超链接效果。
内容的提问来源于stack exchange,提问作者Fabio Bertellotti
相关产品推荐
相关产品推荐

