2009-03-04 112 views
0

擺脫標籤我實現了YUI rich text editor,我想獲得,只要我保存從編輯內容擺脫<html><body>DOCTYPE標籤。我知道我可以通過解析HTML來做到這一點,但必須有更好的解決方案。YUI編輯器:在內容

現在這個時候我編輯的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> 

任何想法?

P.S .:我使用yui_editor plugin for ruby on rails實現了YUI編輯器,但是也歡迎YUI編輯器的通用答案!

回答

1

與此同時,我通過解析提交的html解決了問題。是的,我知道,起初我並沒有在尋找這個解決方案,但最終我得出結論,這是解決問題的最簡單方法。我用Rails的​​做解析:

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

解決方法之一就是使用正則表達式來捕獲<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; 
});