V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kmvan
V2EX  ›  程序员

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

  •  
  •   kmvan · 2014-09-27 09:51:04 +08:00 · 3547 次点击
    这是一个创建于 3701 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在各大cms网站(如优酷)上传资料时候使用的 tags 分隔符是 [ ] (空格)、 [,] (英文逗号),而使用 [、] (顿号)却不被接受。

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

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

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

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

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

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

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

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

    cbsw
        14
    cbsw  
       2014-09-27 15:36:20 +08:00
    SegmentFault 和 StackOverflow 这种添加标签不是很好吗
    huijiewei
        15
    huijiewei  
       2014-09-27 17:22:03 +08:00
    我觉得用分号和逗号比较合适
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1013 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:39 · PVG 05:39 · LAX 13:39 · JFK 16:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.