Javascript 将Html转换为纯文本

Javascript 将Html转换为纯文本,javascript,html,asp.net-mvc,tinymce,Javascript,Html,Asp.net Mvc,Tinymce,我使用tinymce编辑器作为富文本编辑器。我的问题是当我保存文本时,它会以html格式保存,如 <p> Hello world<p/> 这可能不是最好的帮助,但是.txt文件也是纯文本的一种形式。如果您只想查看代码而不想运行它,请尝试使用.txt执行某些操作。HTML包含一些字符,这些字符对HTML来说意味着特殊的内容。具体来说,开始标记和结束标记(“”)放在一起表示它们之间的内容指定了一个元素。如果这些字符不是用于HTML标记的,那么HTML解析器就会遇到麻烦。当H

我使用tinymce编辑器作为富文本编辑器。我的问题是当我保存文本时,它会以html格式保存,如

<p> Hello world<p/>

这可能不是最好的帮助,但是.txt文件也是纯文本的一种形式。如果您只想查看代码而不想运行它,请尝试使用.txt执行某些操作。

HTML包含一些字符,这些字符对HTML来说意味着特殊的内容。具体来说,开始标记和结束标记(“”)放在一起表示它们之间的内容指定了一个元素。如果这些字符不是用于HTML标记的,那么HTML解析器就会遇到麻烦。当HTML文件想要表示大于或小于字符的文字时,它通过将它们替换为“>”和“来“编码”它们。编辑器提供了一个getcontent方法,集成并没有提供一个我可以轻松找到的访问点。但是实现相当简单

TinyMCE有以下代码将其html转换为文本:

在:jquery.tinymce.js中:

... t.getContent().replace(/<(?:"[^"]*"|'[^']*'|[^'">])*>/g, "") ...
…t.getContent().replace(/])*>/g“”。。。
这基本上只是一个javascript正则表达式的替换,在C#代码中执行同样的操作,然后解码html

以下是一个示例控制器:

public class TinyController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Index(TinyMCEModelJQuery model)
    {
        var foo = model.Content;
        Regex regex = new Regex("<(?:\"[^\"]*\"|'[^']*'|[^'\">])*>");
        var htmlPlainText = regex.Replace(foo, string.Empty);
        var plainText = HttpUtility.HtmlDecode(htmlPlainText);
        // do what you need with plainText

        return View();

    }
公共类TinyController:控制器
{
公共行动结果索引()
{
返回视图();
}
[HttpPost]
公共操作结果索引(TinyMCEModelJQuery模型)
{
var foo=model.Content;
正则表达式正则表达式=新正则表达式(“])*>”;
var htmlPlainText=regex.Replace(foo,string.Empty);
var plainText=HttpUtility.HtmlDecode(htmlPlainText);
//用明文做你需要的事
返回视图();
}

try editor.getContent({format:'text'});请参阅-如何使用此文件以及在何处使用此文件?没有意识到您正在使用MVC nuget软件包,添加了一个答案
public class TinyController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Index(TinyMCEModelJQuery model)
    {
        var foo = model.Content;
        Regex regex = new Regex("<(?:\"[^\"]*\"|'[^']*'|[^'\">])*>");
        var htmlPlainText = regex.Replace(foo, string.Empty);
        var plainText = HttpUtility.HtmlDecode(htmlPlainText);
        // do what you need with plainText

        return View();

    }