我正在考虑在当前项目中支持 Textile 和 Markdown 。我不希望强迫用户选择其中一个。有没有办法自动检测用户使用的是什么?你会怎么做?我想找到/开发JavaScript和PHP解决方案,这样我就可以提供实时预览以及在服务器端处理用户输入。
答案 0 :(得分:6)
考虑到用户可能只在帖子中使用一个特定的语法元素,因此您必须检查所有内容。寻找“h1”。显然只有在用户使用该元素时才有效。
使用标题之类的内容非常简单,但请考虑降价格式*this*
为<em>this</em>
,而Textile会将其转换为<strong>this</strong>
。所以你会有不明确的语法结构,会在每种语言中产生不同的结果。
我建议选择用户。尝试找出您的用户(或您)通常首选的语法,为需要其他选择的人提供“使用x而不是y”复选框。
答案 1 :(得分:3)
这真的不应该那么难。 Markdown不支持以下语法;
h1. Header
p. Paragraph
...所以你只需扫描一下就可以检查它是否是纺织品。非常简单的正则表达式,以便在PHP代码中启动(扫描以hX。或p。开头的行):
if (preg_match('/^(p|h[1-6])\. /m', $subject))
{
// Successful match
} else
{
// Match attempt failed
}
您可能可以编写自己的正则表达式来扫描Markdown。
答案 2 :(得分:1)
自动检测,我不知道,两者都是基于“自然”打字 也许您可以要求用户选择一种格式,使用一对无线电按钮或其他东西。