2

私は WYSIHTML5 を実行して、電子メール テキストを入力し、HTML として送信するために書式設定できるようにしています。ただし、書式設定されたテキストの HTML を表示すると、色の要素に関連付けられたクラスが取得されます。これは予想される動作ですが、出力を電子メールで送信する必要があるため、そのような電子メールに CSS ファイルを添付できないため、これらの色をインライン CSS にしたいと考えています。例はこちら

<span class="wysiwyg-color-green">Testing</span>

それは、テキストに緑色を選択した場合です: Testing. その緑を変更してhtml自体の一部にする方法はありますか

<span style="color:green">Testing</span>

これを検索しようとしましたが、見つからなかったので、最初に検索せずに質問していません。誰かがどこかを指してください。これに関するガイドへのリンクでも構いません。あなたが私のためにコードを書くのに時間を費やしてほしくありません。

4

2 に答える 2

4

あなたはphpでそれを行うことができます:

str_replace ( 'class="wysiwyg-color-green"', 'style="color:green"' ,$html)

javascriptでも同じことができますが、サーバー側ですべてを行う方が常に安全です。 http://www.w3schools.com/jsref/jsref_replace.asp

于 2013-02-06T09:07:35.230 に答える
1

私が使用した JavaScript コードは次のとおりですが、上記の Jean-Georges の警告に注意することをお勧めします。

replaceColorStylesWithInlineCss = function (htmlContents){
    result = htmlContents.replace('class="wysiwyg-color-black"', 'class="wysiwyg-color-black" style="color:black"');
    result = result.replace('class="wysiwyg-color-silver"', 'class="wysiwyg-color-silver" style="color:silver"');
    result = result.replace('class="wysiwyg-color-gray"', 'class="wysiwyg-color-gray" style="color:gray"');
    result = result.replace('class="wysiwyg-color-maroon"', 'class="wysiwyg-color-maroon" style="color:maroon"');
    result = result.replace('class="wysiwyg-color-red"', 'class="wysiwyg-color-red" style="color:red"');
    result = result.replace('class="wysiwyg-color-purple"', 'class="wysiwyg-color-purple" style="color:purple"');
    result = result.replace('class="wysiwyg-color-green"', 'class="wysiwyg-color-green" style="color:green"');
    result = result.replace('class="wysiwyg-color-olive"', 'class="wysiwyg-color-olive" style="color:olive"');
    result = result.replace('class="wysiwyg-color-navy"', 'class="wysiwyg-color-navy" style="color:navy"');
    result = result.replace('class="wysiwyg-color-blue"', 'class="wysiwyg-color-blue" style="color:blue"');
    result = result.replace('class="wysiwyg-color-orange"', 'class="wysiwyg-color-orange" style="color:orange"');
    return result
};

注:データベースに保存していて、再度ロードしたときにwysihtml5セクションに正しく表示されるようにするため、wysiwygスタイルをそこに保持しました。あなたが賢いなら、それを乾かしてください。

于 2014-03-31T01:22:48.160 に答える