5

我正在为 Web 应用程序创建我的降价编辑器。一个更好的类比可能是 Stack Overflow/ RedNotebook,当我们在文本框中输入内容时,立即格式化的输出显示在它旁边。

这种模型是否有任何示例实现?或者我应该从头开始编码,从创建文本框等开始?

有任何开源 API 吗?

4

2 回答 2

3

Pagedown是一个更好的答案。

这就是 Stack Exchange 的编辑器运行的东西。

在此处输入图像描述

于 2013-02-15T02:13:10.787 回答
3

我有一个完美的解决方案给你,我刚刚写了这个。

下载PHP Markdown Extra,并放入与此脚本相同的目录:

<?php

include_once("markdown.php");

if(isset($_GET['mode']) && $_GET['mode'] == 'ajax')
    die(Markdown($_POST['markdown']));

?><html>
    <head>
        <style>
             span     { text-align: left; width: 49% }
             textarea { height: 100%; width: 100% }
            #left     { float: left; }
            #right    { float: right; }
        </style>
        <script type='text/javascript'>
            function ajax()
            {
                if(window.XMLHttpRequest)
                    var request = new XMLHttpRequest();
                else if(window.ActiveXObject)
                    var request = ActiveXObject("Microsoft.XMLHTTP");

                request.open("POST", "?mode=ajax", true);
                request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
                request.send('markdown=' + document.getElementById('markdown').value);

                request.onreadystatechange = function()
                {
                    if(request.readyState == 4 && request.status == 200)
                        document.getElementById('right').innerHTML = request.responseText;
                }
            }

            window.onload = function(){ ajax(); }
        </script>
    </head>
    <body>
        <div>
            <span id='left'>
                <textarea id='markdown' onkeyup='ajax();'></textarea>
            </span>
            <span id='right'>
                Loading...
            </span>
        </div>
    </body>
</html>

db-ajax

当然这只是一个简单的概念。它需要一些改进,但我认为这是您正在寻找的基础。

于 2013-02-14T00:34:11.690 回答