将纯文本输入转换为HTML

时间:2009-04-21 22:09:28

标签: php mysql html user-interface

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

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

澄清:当您点击办公室地图上的员工桌面时,此内容将以模式显示,因此单独的Wiki或类似内容将无效。

4 个答案:

答案 0 :(得分:5)

你可以实现一些非常简单的类似wiki的标记,虽然这里的“简单”可能会有所不同;考虑使用Markdown之类的东西来加速这个过程。

如果您的技术人员不是很熟练,您可以尝试将“富文本编辑器”类型控件集成到页面上,使用FCKeditorTinyMCE之类的内容,删除/禁用多余的控件。这为您的用户提供了更为熟悉的WYSIWYG风格行为。

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

答案 1 :(得分:4)

对于采用最简单,最直观的解决方案,有很多话要说。 Stackoverflow是一个程序员社区,所以人们对这个“Markdown”标记很满意。

但是为了让普通人更容易接触到任何类型的标记,那么最基本的解决方案可能是最好的,所以他们在键入的内容之间存在绝对的最小差异。 ,以及它在网站上的结果。

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

它没有任何格式,除了空行创建一个段落,但根据受众,例如,如果它是一般受众,您可能会发现这是一个更好的主意。如果你给非技术人员一个格式化的标记语法,你可能会发现它混淆了他们并且他们错误地使用它并弄乱了一些东西,需要帮助,或者你可能会发现他们使用尽可能多的文本过度使用格式风格尽可能。

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

另一个选项是wiki软件中的WYSIWYG编辑控件。它必须是好的,尽可能接近“实际”所见即所得。在预览中看到正常的东西不应该是在服务器端过滤后弄乱的,因为有人会找到一种方法来做到这一点。

如何允许非技术人员在页面之间创建链接是您可能会发现复杂的另一个问题。

答案 2 :(得分:1)

虽然您可以使用像FCKEditor这样的WYSIWYG编辑器,但您可以使用许多lightweight markup languages。受欢迎的包括

答案 3 :(得分:0)

公司维基页面对此非常有用,并且使用户可以轻松对其进行格式化。它也是一些开源软件。