2017-05-26 14 views
0

私は、ワードドキュメントをTextWranglerのhtmlファイルに変換する作業を自動化しています。私はスパンタグ内の記事の最初の文字を移動することを含む最終ステップを除いて、すべてをソートしています(Bossのデザイン選択、そしてウェブサイトはインラインでないCSSをサポートしていません。 -文字)。Applescript:スパンタグ内の文字をカットして貼り付けます

とにかく、HTMLは次のようになります。

<p style='color: #444; font-size: 1.4em; line-height: 1.8em; font-weight: bold;'> 
<img style='display: block; float: right; margin-bottom: 30px; margin-left: 15px; width: 475px;' src='*****.jpg' alt='' width='950' height='713' /> 
<span style='color: #444; float: left; font-size: 3em;'></span> 
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer at rhoncus velit. Sed velit libero, venenatis non ornare ac, egestas vitae quam.</p> 

アイデアはちょうどspanタグの内側に閉じspanタグを以下の最初の文字を移動するだろうが、私は周りを見回したとそうでないましたどこから始めるのかは本当に分かります。

編集:これは、行の中の必要な文字の前の文字の数が変わらないという点で、より簡単に知ることができます。だから、行のn番目の文字を分離してそこから行く方法を見つけるのだろうか?

答えて

0

これは愚かな例であり、あなたはそれを少し研磨することをお勧めします:

set htmlText to "... your HTML ..." 

set endSpanLength to 7 
set endSpanPos to offset of "</span>" in htmlText 
set firstCharPos to (endSpanPos + endSpanLength + 1) 
set firstChar to character firstCharPos of htmlText 

set oldEndSpan to "</span>" & linefeed & firstChar 
set newEndSpan to firstChar & "</span>" & linefeed 

findAndReplaceInText(htmlText, oldEndSpan, newEndSpan) 

on findAndReplaceInText(theText, theSearchString, theReplacementString) 
    set AppleScript's text item delimiters to theSearchString 
    set theTextItems to every text item of theText 
    set AppleScript's text item delimiters to theReplacementString 
    set theText to theTextItems as string 
    set AppleScript's text item delimiters to "" 
    return theText 
end findAndReplaceInText 
+0

最初の文字はのhtmlTextの外にあるので、スクリプトはfirstCharPosを設定する上で立ち往生。代わりに私はスパンタグを含む最初の行を処理し、行全体を返すようにtextwranglerに依頼しましたが、スクリプトはオフセット行にスタックしています 'error" {class MdfT»を作成できません:class CpyL »:\ "

ロームipsum dolor sit amet、consectetur adipiscing elit。

\ "}をタイプ文字列に変換します。数-1700 {:欠損値、«クラスCpyL»:«クラスMDFT»「

Loremのイプサム嘆きAMET座る

を。」}いくつかの理由 – Shay

+0

をSTRING'し、私はあなたが内の文字列で作業していると思いましたあなたのスクリプト。あなたのオブジェクトがどのようにHTMLのように見えるかの例を共有してください。また、あなたの質問にオブジェクトであるという情報を追加することもできます。 – psimekjr

+0

ご迷惑をおかけして申し訳ございませんが、私はまだAppleScriptを使い慣れておらず、それほど精通していません。ここには私がこれまで持っていたものすべてが貼り付けられています。あなたが何か他のものを探しているのなら教えてください。 https://pastebin.com/wRp7vaxQ。ここでは何が起こるのですか?コードは記事の冒頭に貼り付けられ、それは起こるすべての書式設定です。閉じたスパンタグの後に最初の文字を入れて内側に移動する別の関数を作成したいと思います。最初の文字は各記事で変更されますが、これは元のスクリプトの問題の原因です。ありがとう、私があなたに必要なものを与えていないかどうかを教えてください。 – Shay

関連する問題