用户输入时,较好的 tags 分隔符方案是 [,] [,] [、] ?

2014-09-27 09:51:04 +08:00
 kmvan
在各大cms网站(如优酷)上传资料时候使用的 tags 分隔符是 [ ] (空格)、 [,] (英文逗号),而使用 [、] (顿号)却不被接受。

这里我就产生了一些疑问,倘若使用空格作为分隔符,那么有一个标签是英文词组的话,就会分隔为两个英文单词,这体验多不好。

所以我想大家有没有比较好而且统一的分隔符号,用 [,] (英文逗号)、 [,] (中文逗号)、 [、] (中文顿号)”这三个分隔符来分隔用户输入的 tags ,如何?
3557 次点击
所在节点    程序员
15 条回复
9hills
2014-09-27 09:53:02 +08:00
全支持不就好了。。很容易啊
kmvan
2014-09-27 10:12:45 +08:00
@9hills “全支持不就好了。。很容易啊”
目前我想的是,
```
$split = array(
',',
',',
'、',
';',
';',
' '
);
```
空格是全角中文的空格...
bufannao
2014-09-27 10:18:02 +08:00
ajax
每次添加 tags[]加入一个,删除同理
kmvan
2014-09-27 10:23:01 +08:00
@bufannao “ajax 每次添加 tags[]加入一个,删除同理”
阁下对是否使用“空格”作为分隔符,看法如何?
pysama
2014-09-27 10:31:55 +08:00
一定程度上的约束 == 更好的体验 (貌似有这种说法)

个人看法是仅用逗号作为分隔符。

- 不建议用顿号, 顿号的键位在ENTER上面,翘起来不方便,而半角逗号就在k下面,中指往下轻移即可输入。至于你也考虑到支持全角逗号,这个是很不错,考虑到用户切换输入法的成本。
- 不建议用全角空格,同样也是考虑按键成本和输入法切换成本带来的体验损失
oott123
2014-09-27 10:48:54 +08:00
回车咯,按一下回车新建一个
orzfly
2014-09-27 10:51:54 +08:00
@pysama 顿号并非是敲起来方便不方便,而是考虑中文用户的习惯。
imn1
2014-09-27 11:08:37 +08:00
用英文符号是后台使用csv类语句自动分割容易
其他符号就要增加编码考虑
fox
2014-09-27 11:11:02 +08:00
空格,回车,全角半角都支持才好。貌似360的百科就这样
nigelvon
2014-09-27 11:11:05 +08:00
逗号吧,用得挺舒服
kmvan
2014-09-27 11:34:15 +08:00
空格,对英文词组的处理有点问题呀
ispinfx
2014-09-27 11:42:06 +08:00
必须都支持啊,有些人根本中英文全半角分不清。
raincious
2014-09-27 11:57:24 +08:00
二楼那个方法不太好。

Javascript是支持中文的,string[0]能直接正确取出中文第一个字符(utf-8),建议前端上下功夫,转换成数组格式的提交,比如:

tag[] = "A"
tag[] = "B"
tag[] = "C"

这样PHP里面还能当成常规输入框过滤。

然后,可以使用Javascript来注册分隔符关键字,比如当用户输入的最后一个字符是“;”或";"时,取出这个字符串作为Tag,效果就象这样:

cbsw
2014-09-27 15:36:20 +08:00
SegmentFault 和 StackOverflow 这种添加标签不是很好吗
huijiewei
2014-09-27 17:22:03 +08:00
我觉得用分号和逗号比较合适

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/135961

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX