guke01857
V2EX  ›  PHP

求一个正则匹配写法

  •  
  •   guke01857 · Oct 2, 2020 · 3955 views
    This topic created in 2050 days ago, the information mentioned may be changed or developed.
    原词: 两全其美( 注释: 美:美好。指做一件事顾全到双方,使两方面都得到好处。 )

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

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

    如果你是想要格式化一些输入文本或者自用的话,找个 (或者写个) HTML parser 会是更好更正确的选择..
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5746 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 03:38 · PVG 11:38 · LAX 20:38 · JFK 23:38
    ♥ Do have faith in what you're doing.