2013-02-06 18 views
2

我正在運行WYSIHTML5,允許我自己輸入電子郵件文本並將其格式化爲以HTML格式發送。但是,當我查看格式化文本的HTML時,我得到與Colors的元素關聯的類。這是預期的行爲,但由於我需要在電子郵件中發送輸出,因此我希望將這些顏色放在Inline CSS中,因爲我無法將CSS文件與電子郵件附加在一起。示例這裏WYSIHTML5如何輸出內聯CSS?

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

這就是如果我選擇綠色的文字:Testing。有沒有什麼辦法來修改綠色成爲HTML本身的一部分,就像

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

我試圖尋找這一點,但沒有找到,所以我不問不先尋找它。如果有人可以請稍微指出一點。即使是任何指南的鏈接,都可以。我不希望你花時間爲我寫代碼。

回答

4

你可以用PHP做:

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

你可以做同樣的使用JavaScript,altrough它總是比較安全盡服務器端。 http://www.w3schools.com/jsref/jsref_replace.asp

+0

讓謝謝你的回答,它看起來不錯,也很簡單。不過,我希望如果這可以通過JavaScript本身完成。如果我更新了任何 –

+0

,但我不會依賴javascript,尤其是發送電子郵件時,您的答案可以通過+1來工作,但我仍在等待JavaScript解決方案。 Javascript可以被禁用或混淆。 Php不能。 –

1

這是我使用的JavaScript代碼,但可能會聽從讓 - 喬治上面的警告是一個好主意:

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部分正確顯示,當我再次加載它。如果你聰明,就幹掉它。