2013-02-06 3 views
2

나는 전자 메일 텍스트를 입력하고 HTML 형식으로 보낼 수 있도록 WYSIHTML5를 실행하고 있습니다. 그러나 형식이 지정된 텍스트의 HTML을 볼 때 Colors 요소와 관련된 클래스를 얻습니다. 이것은 예상 된 동작이지만 출력물을 이메일로 보내야하므로 인라인 CSS에 해당 색상을 사용하고 싶습니다. CSS 파일을 이메일에 첨부 할 수 없기 때문입니다. 여기 예문WYSIHTML5는 인라인 CSS를 어떻게 출력 할 수 있습니까?

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

즉, 텍스트의 녹색을 선택하면 : Testing입니다. 나는이 검색을 시도했지만 찾을 수 없습니다

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

같은 HTML 자체의 일부가 그 녹색을 수정할 수있는 방법이 있습니까, 그래서 내가 먼저 찾고없이 요구하고 있지 않다. 누군가가 어딘가를 가르키면 좋을 것입니다. 이것에 어떤 가이드든지에 연결조차, 할 것이다. 나는 당신이 나를 위해 코드를 작성하는 데 쓴 것을 싫어한다.

답변

4

당신은 PHP와 함께 할 수 있습니다 : 그것은 모든 서버 측 작업을 수행하는 것이 더 안전 altrough

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

당신은, 자바 스크립트와 동일한 기능을 수행 할 수 있습니다. http://www.w3schools.com/jsref/jsref_replace.asp

+0

답변 주셔서 감사합니다. 너무 좋고 간단합니다. 그러나 이것이 JavaScript 자체에 의해 수행 될 수 있다면 나는 기대하고 있었다. –

+0

이 업데이트 되었으면 자바 스크립트를 기다리는 동안 대답은 +1이 될 것이지만, 특히 전자 메일을 보내는 데 자바 스크립트에는 포함되지 않습니다. 자바 스크립트는 비활성화되거나 엉망이 될 수 있습니다. PHP는 할 수 없습니다. –

1

여기 내가 사용하는 자바 스크립트 코드입니다하지만 장 - 조르주 위의 경고에주의하는 것이 좋습니다 수 있습니다 :

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 
}; 

참고 : 제가 DB에 저장하고 있습니다 때문에 내가 거기에 WYSIWYG 스타일을 유지 다시로드 할 때 wysihtml5 섹션에 제대로 표시되기를 원합니다. 네가 똑똑하다면 말라.