Как я могу вернуться к расширенному тексту после нескольких регулярных выражений в конце моего сценария (чтобы я мог использовать богатый текст, а не HTML)?Autohokey: измените формат буфера обмена из html в текст
Этот сценарий копирует выделенный текст, извлекает HTML, форматирует его (удаляет/изменяет некоторые теги html). Поэтому, когда я заканчиваю буфер обмена в конце, у меня есть html-формат. Как я могу изменить формат буфера обмена, чтобы получить текстовый формат, когда я прошёл: я хотел бы иметь возможность вставить буфер обмена в MSWord, а не только в редакторе html.
Фактический код = текстовый формат → HTML формат код я ищу это: текстовый формат → HTML формат → текстовый формат код Ищу может показаться странным, но мне нужно, чтобы получить доступ к HTML-теги в формате их.
!^+k:: ;Alt(!) CTRL(^) shift(+) AND c
clipboard =
Send, {CTRLDOWN}c{CTRLUP}{ESC}
ClipWait
; Change clipboard content from text to html with tag
ClipboardGet_HTML(byref Data) { ; http://www.autohotkey.com/forum/viewtopic.php?p=392624#392624
If CBID := DllCall("RegisterClipboardFormat", Str,"HTML Format", UInt)
If DllCall("IsClipboardFormatAvailable", UInt,CBID) <> 0
If DllCall("OpenClipboard", UInt,0) <> 0
If hData := DllCall("GetClipboardData", UInt,CBID, UInt)
DataL := DllCall("GlobalSize", UInt,hData, UInt)
, pData := DllCall("GlobalLock", UInt,hData, UInt)
, Data := StrGet(pData, dataL, "UTF-8")
, DllCall("GlobalUnlock", UInt,hData)
DllCall("CloseClipboard")
Return dataL ? dataL : 0
}
If ClipboardGet_HTML(Data){
; MsgBox, % Data
clipboard = %Data%
; parse HTML to remove tag attributes - bcoz I want to apply a style on <span id="textmark... I first replace them with a unique string that enable me to personalize their style after the parsing
HHSpanid := RegExReplace(clipboard, "<span id=""textmark", "TO2BE2REPLACED$0")
HHSpanidclass := RegExReplace(HHSpanid, "<span class=""textmark", "TO2BE2REPLACED$0")
Replacehtmlmarker := RegexReplace(HHSpanidclass, "<(p|span|div|img|h1|h2|h3|h4|h5|h6|h7|a|label|blockquote|form|svg|path|input|header|sup|br|iframe|button|time|nav)\K [^>]+(?=>)")
RemoveImg := RegExReplace(Replacehtmlmarker, "<img>", "")
ReplaceHHSpan := RegExReplace(RemoveImg, "TO2BE2REPLACED<span>", "<span style=""color: black;background-color: #ffff00;"">")
clipboard = %ReplaceHHSpan%
ClipWait
return
}
Else SoundBeep
Большое спасибо за помощь!