Kairyou's Blog

专注于前端开发, 追求更好的用户体验, 更好的开发体验 [长沙前端QQ群:234746733]
  • fieldset 在ie 和 firefox 下的不同

    / 分类: 开发 / No Comments

    最近用php做了一个留言板,用户发布留言的form就用到了fieldset,不过发现了一个问题,就是IE下面fieldset的margin-top和margin-bottom无效,当然margin横向是正常的。

    比如css里:fieldset{margin:100px auto;}那么这个fieldset在FF(包括safari等浏览器)显示是上下100px、左右居中。而IE下就是左右居中,margin的上下无效。(当然这里的ie是IE6-IE8、页面带DOCTYPE声明)。

    我的解决办法就是修改fieldset内legend的margin,或者fieldset外面加一个div,然后修改这个div的margin。

    顺便,这个表单也被我拿来当作练习js了,深刻的体会到:学到的理论如果不用到实践上,那永远也不会有提升。

  • 删除重复内容行

    / 分类: 工具,实践 / 1 Comment

    由于要处理一个两万多行的数据,但要删除其中内容重复的行,所以找了几个方法:

    1. 用sed替换重复内容,使用命令 -n "G;s/\n/&&/;/^\(.*\n\).*\n\1/d; s/\n//;h;P" "$(FilePath)" (这里是在editplus里的使用,注意$(FilePath)必须是带路径的文件名)。当然sed不需依赖editplus,可以单独使用的。优点:删除重复内容后,顺序结构不变。缺点:不支持UTF-8,处理大文件时(2w多行)就不行了。

    2.使用editplus-工具-排序,勾选"删除重复"。可惜不想把内容排序,却被自动排序了。(勾选"区分位置",好像没用?),这个效率相当快~差不多是瞬间完成的,之所以没放弃editplus,确实它的优点有很多。

    3.使用一个批处理

    @echo off
    :: 删除重复的行,但不能保留空行
    :: 对不符合变量命名规则、变量个数超过限制的文本都无法正确处理
    (echo 清除重复行后的文件内容:& echo.)>str_.txt
    for /f "delims=" %%i in (testText.txt) do (
      if not defined %%i set %%i=A & echo %%i>>str_.txt)
    :: start str_.txt

    当然也不支持utf8,效率也比较慢,处理2w多行用了1分多钟,不过排序没有改变:)。