2009-03-04 6 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 .:私は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; 
}); 
関連する問題