代码之家  ›  专栏  ›  技术社区  ›  kilrizzy

如何使用preg_replace删除X和Y之间的内容?

  •  1
  • kilrizzy  · 技术社区  · 15 年前

    使用regexpression生成器,我得到这个:(?<=\=”[^]+?(?=上传/)

    $block_data = preg_replace('/(?<=\=")[^]+?(?=uploads/)/g','',$block_data);
    

    2 回复  |  直到 15 年前
        1
  •  3
  •   Colin Hebert    15 年前

    您应该在“uploads/”中转义“/”,然后 g 不是有效的修饰符,另外 [^] . 相反。

    /(?<=\=").+?(?=uploads\/)/
    

    测试 ideone

        2
  •  2
  •   lonesomeday    15 年前

    $block_data = preg_replace('/(?<=").*?(?=uploads\/)/','',$block_data);
    

    所做的更改:

    1. 逃脱了 / 展望未来
    2. 删除了 g 修饰符,这在PHP中是不必要的

    据我所知,这是可行的 first"middle/uploads/end" first"uploads/end" .