【问题标题】:Convert plain text input to HTML将纯文本输入转换为 HTML
【发布时间】:2010-10-20 23:09:23
【问题描述】:

对于我们公司的内部网,内置 PHP 和 MySQL,我想添加一个区域,员工可以在其中发布自己的简短个人资料 - 几段文字和一张图片。

将这种纯文本输入转换为 HTML 段落、项目符号列表、链接等的最佳方法是什么?

澄清:当您在办公室地图上单击员工的办公桌时,此内容将以模式显示,因此单独的 wiki 或类似的东西将不起作用。

【问题讨论】:

    标签: php mysql html user-interface


    【解决方案1】:

    公司 wiki 页面非常适合此功能,并且让用户可以轻松地对其进行格式化。也有一些开源软件。

    【讨论】:

      【解决方案2】:

      您可以实现一些非常简单的类似于 wiki 的标记,尽管此处的“简单”可能会有所不同;考虑使用Markdown 之类的东西来加快处理速度。

      如果您的受众不是很技术,您可以尝试简单地将“富文本编辑器”类型控件集成到页面上,使用类似 FCKeditorTinyMCE 的东西,您可以从中删除/禁用多余的控制。这为您的用户提供了一种更熟悉的所见即所得风格的行为。

      在任何情况下,您都可以执行一些简单的白名单来限制允许通过的 HTML 子集。

      【讨论】:

        【解决方案3】:

        使用最简单、最直观的解决方案有很多话要说。 Stackoverflow 是一个程序员社区,因此人们对这种“Markdown”标记非常满意。

        但是为了让不习惯使用任何类型标记的普通人更容易使用它,那么最基本的解决方案可能是最好的,因此他们在输入时看到的内容之间的差异绝对是最小的,以及它在网站上的结果。类似于

        $html = "<p>"
          . preg_replace("\n\r?\n", "</p><p>", htmlspecialchars($text))
          . "</p>";
        

        它没有任何格式,除了一个空行会创建一个分节符,但取决于受众,例如,如果是普通受众,您可能会发现这是一个更好的主意。如果你给非技术人员一个格式化的标记语法,你可能会发现它要么让他们感到困惑,要么他们使用不正确,弄乱了一些东西,需要帮助,或者你可能会发现他们在格式化上太过分了,使用了尽可能多的文本尽可能多的样式。

        在我的角色中,我维护一个 MediaWiki wiki 作为这家公司的内部网,并注意到一般来说,虽然拥有一个 wiki 是一个好主意,但它的标记语言不适合一般的非技术受众,很多人他们中的一些人更喜欢用 MS Word 写东西,因为这对他们来说很熟悉,然后将 Word 文档上传到 wiki。

        另一个选项是 wiki 软件中的 WYSIWYG 编辑控件。它需要很好,并且尽可能接近“实际”所见即所得。应该不可能在预览中得到看起来不错的东西,这些东西在服务器端过滤后就搞砸了,因为有人会找到一种方法来做到这一点。

        如何让非技术人员在页面之间创建链接是另一回事,您可能会觉得很复杂。

        【讨论】:

          【解决方案4】:

          虽然您可以使用 FCKEditor 之类的所见即所得编辑器,但您可以使用许多 lightweight markup languages。流行的包括

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2012-04-12
            • 2014-09-08
            • 1970-01-01
            • 2018-03-17
            • 1970-01-01
            • 1970-01-01
            • 2014-04-21
            相关资源
            最近更新 更多