문제

나는 그것을 구현했다 Yui Rich 텍스트 편집기 그리고 나는 그것을 제거하고 싶습니다 <html>, <body> 그리고 DOCTYPE 에디터에서 컨텐츠를 저장하자마자 태그. HTML을 구문 분석하여 나중에이 작업을 수행 할 수 있다는 것을 알고 있지만 더 나은 솔루션이 있어야합니다.

지금은 Yui 편집기에서 텍스트를 편집 할 때 저장됩니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
    <body>
        <p>foo</p>
    </body>
</html>

...하지만 나는 이것을 저장하고 싶습니다 :

<p>foo</p>

아이디어가 있습니까?

추신 : 나는 The를 사용하여 Yui 편집기를 구현했습니다 Ruby on Rails 용 Yui_editor 플러그인, 그러나 Yui 편집자 일반 답변도 환영받을 것입니다!

도움이 되었습니까?

해결책

그 동안 나는 제출시 HTML을 구문 분석하여 문제를 직접 해결했습니다. 예, 처음에는이 솔루션을 찾고 있지 않았지만 마침내이 솔루션을 해결하는 가장 쉬운 방법이라는 결론에 도달했습니다. 나는 그것을 사용했다 Nokogiri Rubygem 철도가 구문 분석을 수행하기 위해 :

value = Nokogiri::HTML(yui_content).css('body').to_html 
value.gsub!(/<body>/,'') 
value.gsub!(/<\/body>/,'')

다른 팁

한 가지 해결책은 이것입니다. 정규 표현식을 사용하여 사이의 모든 것을 포착합니다. <body> 및 </body>. 예제 (YUI 편집기 페이지에서 수정) :

var myEditor = new YAHOO.widget.Editor('msgpost');
myEditor.render();

YAHOO.util.Event.on('somebutton', 'click', function() {
    myEditor.saveHTML();

    //The var html will now have the contents of the textarea
    var html = myEditor.get('element').value, match;

    match = html.match(/<body[^>]*>([\s\S]*?)<\/body>/i);
    html = match ? match[1] : html;
});
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top