如何让用户在保存到MySQL表之前操作文本(使其粗体/斜体)?

时间:2010-07-28 20:45:13

标签: php mysql

有没有办法可以让用户操纵他/她可能通过PHP输入的文字?例如,用户可能能够将他/她键入的文本粗体或甚至斜体。可以假设,我试图获得这个网站的类似效果。有没有办法在PHP中执行此操作?我试图这样做是因为一旦用户在输入文本信息后点击“提交”,信息将被保存到MySQL表中。从那里开始,我将在稍后的时间尝试显示信息。因此,在用户键入文本(粗体或甚至斜体)时可以轻松检索文本。它是如何工作的?

谢谢。

2 个答案:

答案 0 :(得分:1)

StackOverflow使用Markdown语言。这里有一个PHP实现:http://michelf.com/projects/php-markdown/和JavaScript实现:http://attacklab.net/showdown/或者您可以使用WYSIWYG控件StackOverflow的编辑基于:http://wmd-editor.com/

基本上它将斜体粗体(以及其他格式如列表)存储为具有特殊格式的简单文本: *italics* **bold**以便您可以将纯文本存储在数据库中。然后在显示之前格式化。

(这是实际的降价项目:http://daringfireball.net/projects/markdown/

答案 1 :(得分:1)

SQL只保存文本 - 如果你想支持格式化,你可以允许HTML实体和当您通过PHP显示此类文本或查看其他标记方法(如Markdown)时请注意这一点。请注意,允许HTML实体冒着javascript注入攻击的风险。