dqch34769 2015-06-30 14:41
浏览 28

php preg替换条件

hello I want to replace this code of css:

background:url("/media/image.png")

and I have a url

$url3 ="http://example.com";

here is the code I'm using :

preg_replace('~url\(("|\')?/?(.*?)(?:\1)?\)~', 'url($1'.$url3.'/$2$1)', background:url("/media/image.png");

the output of this code gives me :

background:url("http://example.com/media/image.png") 

and this is what I want , but my problem is I want to add some conditions to my regex for example if the url have // or http or https at start then ignore it don't add http://example.com/ to it.

this is the regex I have tried :

~url\(("|\')?/?(.*?)(?:\1)?\)~(((?!'|\"|http://|https://|//).)*)(['\"])-i 

but it didn't work ..

  • 写回答

3条回答 默认 最新

  • douzhaobo6488 2015-06-30 15:19
    关注

    Since you are hard-coding the replacement I think it would be easiest to just do another check:

    if (false === preg_match("~url\((\"|')(//|https?://)~", $string)) {
        // do replacement
    }
    

    Also note that the argument to url() in CSS does not require quoting (" or ').

    评论

报告相同问题?

悬赏问题

  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错