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

php regex匹配多个字符串组合insinde字符串并删除所有匹配项之间不需要的字母

  •  0
  • dropson  · 技术社区  · 15 年前

    我有一个包含几行CSS代码的字符串。我想匹配所有发生的:

    background:url(" url ");
    

    删除除文件名之外的所有内容。

    示例输入:

    background:url("http://external_link.com/images/my_suspicious_file.png");
    background:url("rubish.com/images/my_suspicious_file.jpg");
    background:url("retarded_input/folder/flodder/my_suspicious_file.gif");
    

    预期产量

    background:url("my_suspicious_file.png");
    background:url("my_suspicious_file.jpg");
    background:url("my_suspicious_file.gif");
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   jordanbtucker    15 年前

    搜索模式:

    background:url\(".*\/(.*?)"\);
    

    替换模式:

    background:url("$1");
    

    您需要为php转义上面的字符串,我假设您没有使用 s 选项(单线)。

    更新

    一切都在同一条线上:

    background:url\("[^"]*\/(.*?)"\);
    

    相同的替换模式。

    推荐文章