我正在运行WYSIHTML5以允许自己输入电子邮件文本并将其格式化以便以HTML格式发送。但是,当我查看格式化文本的HTML时,我得到与颜色元素相关联的类。这是预期的行为,但由于我需要在电子邮件中发送输出,因此我希望将这些颜色放在Inline CSS中,因为我无法使用这样的电子邮件附加CSS文件。这里的例子
<span class="wysiwyg-color-green">Testing</span>
即如果我为文本选择绿色:Testing
。有没有办法修改绿色成为html本身的一部分,如
<span style="color:green">Testing</span>
我试图搜索但却找不到,所以我不是在没有先找它的情况下问。如果有人可以请点到某处。即使是指向此指南的链接,也可以。我不希望你花时间为我编写代码。
答案 0 :(得分:4)
你可以用php:
来做str_replace ( 'class="wysiwyg-color-green"', 'style="color:green"' ,$html)
你可以用javascript做同样的事情,尽管做服务器端的所有事情总是更安全。 http://www.w3schools.com/jsref/jsref_replace.asp
答案 1 :(得分: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部分正确显示。如果你聪明的话就干掉它。