現在、MarsEdit.app でスクリプトを使用していますが、これには欠陥があります。次のように、段落が<p>
タグで囲まれている場合について、HTML ドキュメントをチェックします。
-- If already starts with <p>, don't prepend another one
if not {oneParagraph starts with "<p>"} then
set newBodyText to newBodyText & "<p>"
end if
set newBodyText to newBodyText & oneParagraph
ここでの問題は、段落 (または 1 行) がタグ以外の HTML タグでラップされている場合<p>
、スクリプトが<p>
タグを全面的にラップすることです。
段落の最後の終了タグをチェックするスクリプトの別の部分は、ほとんど同じことを行います。
-- If already ends with </p>, don't append another one
if not (oneParagraph ends with "</p>") then
set newBodyText to newBodyText & "</p>"
end if
set newBodyText to newBodyText & return
例:
<h5>
フーバー</h5>
になる
<p><h5>
フーバー</h5></p>
Applescript と "starts with" operatorという別の質問では、@lri が親切にもそれに関連する解決策を提供してくれました。
on startswith(txt, l)
repeat with v in l
if txt starts with v then return true
end repeat
false
end startswith
startswith("abc", {"a", "d", "e"}) -- true
彼の別の推奨事項は、このWebサイトでも見つけることができますAppleScriptのタグで行をラップする
これらの推奨事項を MarsEdit.app で実装することは、私にとって別の問題です。
スクリプト全体をペーストビンにアップロードしました。Pastebin: MarsEdit.app で行を折り返す
タグ スクリプト@lri の推奨事項に合わせてスクリプトを編集するのを手伝ってくれる人がいれば、それは素晴らしいことです。前もって感謝します。