Archive for the 'removeTagKit' Category

2017/11/28 指定のテキストからHTMLタグを除去

オープンソースの「NSString_striphtml」(By Leigh McCulloch)をFramework化したremoveTagKitを呼び出して指定文字列からHTMLタグを除去するAppleScriptです。

昔からこの種類のルーチンは存在していましたが、ちょっと高機能なものも欲しくなってきた今日このごろ。

いろいろ検討したところ、NSAttributedString経由でHTMLを解釈してテキストを取得する方法が手っ取り早くて(すでに組んであったので)いい感じでしたが、日本語の文字列が入ると文字化けが発生。

こちらのNSString_striphtmlのほうが18倍ぐらい高速で、改行タグが入っても改行として解釈されない点が自分の用途にかなっていました。

OS X 10.10以降用にビルドしたFrameworkのバイナリを用意したため、各自自己責任でFrameworkを~/Library/Frameworksフォルダに入れておためしください。

–> Download Framework Binary

AppleScript名:指定のテキストからHTMLタグを除去(removeTagKit)
– Created 2017-11-25 by Takaaki Naganoya
– 2017 Piyomaru Software
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”
use framework “removeTagKit” –https://gist.github.com/leighmcculloch/1202238#file-nsstring_striphtml-m
–http://piyocast.com/as/archives/5002

set aStr to “<br />repeat〜end repeat”
set cStr to (current application’s NSString’s stringWithString:aStr)’s stripHtml() as string – under 0.001sec
–>  ”repeat〜end repeat”

★Click Here to Open This Script 

AppleScript名:指定のテキストからHTMLタグを除去(NSAttributedString)
– Created 2017-11-25 by Takaaki Naganoya
– 2017 Piyomaru Software
use AppleScript version “2.4″
use scripting additions
use framework “Foundation”
–http://piyocast.com/as/archives/5002

set aStr to “<br />repeat〜end repeat”
set bStr to decodeHTMLasString(aStr) of me –0.004sec
(*

repeat
〜end repeat”
*)

on decodeHTMLasString(aStr)
  set anNSString to current application’s NSString’s stringWithString:aStr
  
set theData to anNSString’s dataUsingEncoding:(current application’s NSUTF8StringEncoding)
  
set styledString to current application’s NSAttributedString’s alloc()’s initWithHTML:theData documentAttributes:(missing value)
  
set plainText to (styledString’s |string|()) as string
  
return plainText
end decodeHTMLasString

★Click Here to Open This Script