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

求一个正则匹配写法

  •  
  •   guke01857 · 2020-10-02 11:12:29 +08:00 · 3063 次点击
    这是一个创建于 1515 天前的主题,其中的信息可能已经有所发展或是发生改变。
    原词: 两全其美( 注释: 美:美好。指做一件事顾全到双方,使两方面都得到好处。 )

    我需要用 一些代码编辑器 比如 Editplus 或者 sublime 这一类的代码编辑软件,用正则去掉 HTML 标签两边的的空格,空白,以及换行符。且保留 HTML 标签内的 空格(比如:)

    8 条回复    2020-10-02 16:29:43 +08:00
    lin07hui
        1
    lin07hui  
       2020-10-02 11:43:14 +08:00 via Android
    html 压缩插件
    herozzm
        2
    herozzm  
       2020-10-02 12:09:34 +08:00 via Android
    正则可以实现
    herozzm
        3
    herozzm  
       2020-10-02 12:14:46 +08:00 via Android
    >[^>]*(\s{2,})[^>]*<
    guke01857
        4
    guke01857  
    OP
       2020-10-02 12:35:28 +08:00
    @herozzm
    <tr class="a"> <td class="b">原词:</td>
    上面的是原有的。
    按照你的正则替换后
    <tr class="a"td class="b">原词:</td>
    变成了这样
    herozzm
        5
    herozzm  
       2020-10-02 12:48:48 +08:00 via Android
    @guke01857 #4 注意只替换捕获内容$1
    posthoc
        6
    posthoc  
       2020-10-02 14:57:36 +08:00
    "\s*(<(\w+)[^>]*>.*?</(\w+)[^>]*>)\s*"
    if $2 == $3 {
    匹配的内容替换为 $1
    }
    davin
        7
    davin  
       2020-10-02 16:20:16 +08:00
    楼主需要的是不是 Trailing spaces 功能,基本主流的编辑器都有对应的插件吧。
    onevcat
        8
    onevcat  
       2020-10-02 16:29:43 +08:00
    如果你只是要用编辑器编辑 HTML 为了格式和好看的话,可以随便找个 Beautifier 系的插件,比如 https://marketplace.visualstudio.com/items?itemName=HookyQR.beautify

    如果你是想要格式化一些输入文本或者自用的话,找个 (或者写个) HTML parser 会是更好更正确的选择..
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3363 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:05 · PVG 08:05 · LAX 16:05 · JFK 19:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.