如何构建标签系统,如SO?
我在我的asp.net mvc网站上使用一个独特的文本框提交“标签”.
首先,我尝试用逗号“asp.net,c#,sql server”分割标签.
它的工作原理,但如果用户忘记用逗号分隔标签,我有一个问题来分割该字符串.
“asp.net c#sql server”:sql server应该是单个标签,而不是两个“sql”“server”.
此外,我“不能”(他不应该关心这个…)请求用户使用“ – ”字符分隔标签的单词:“sql-server”
有人帮忙
解决方法
您可以匹配现有标签的字符串,因此您可以使用空格标签(假设您首先搜索较大的标签,以便在搜索“sql”之前找到“sql server”,您可以通过仅允许要使用的现有标签,并有一个单独的机制来创建新的标签,这样用户可以轻松地创建具有空格的标签,因为在新标签框中输入的任何标签都将是“sql server 2005”这样的单一标签.
编辑:
或者,您可以在标签中创建新的语法:
‘sql,asp.net,[NEWTAG] sql server,c#’将使用现有的标签’sql’,’asp.net’,’c#’,并将创建一个新的标签’sql server’
/编辑
或者您在空格上拆分,并且不允许带有空格的标签
在你的例子中,你如何判断’sql server'(1标签)和’sql”server'(2个标签)之间的区别?
如果你看这个标签,所有的标签都是空格分隔的,所以一个标签是sql-server.
只要你有他们正在输入的标签建议,我不认为这将是一个问题