dongmou5628 2014-10-17 17:18
浏览 39
已采纳

将两个preg_replace组合成一个

I want to combine those 2 preg_replace into a single one.For example replace every data-thumb-bg=" with style="background-image: url(' and after that if there is .jpg replace it with .jpg);.

 $input = preg_replace('#data-thumb-bg="#s', 'style="background-image: url(', $input);
 $input = preg_replace('#.jpg#s', '.jpg);', $input); //this must be executed only if a match has been found for above

How can i do that ?

Edit

I think i have wrongly expressed myself

The .jpg should be replaced only if data-thumb-bg= has been replaced.Like first you replace the data-thumb-bg then you replace the .jpg that follow the data-thumb-bg

Kind Regards

  • 写回答

2条回答 默认 最新

  • douyigua5381 2014-10-17 17:25
    关注

    I'm assuming your end goal is to change an element's attribute data-thumb-bg="photo.jpg" to style="background-image: url(photo.jpg);". This can be done using a capture group and backreference (note that the s modifier is unnecessary since we don't use a .):

    $input = preg_replace('/data-thumb-bg="([^"]+)"/', 'style="background-image: url(\1);"', $input);
    

    RegEx Demo


    If you want to only allow .jpg extensions, you can use this expression:

    data-thumb-bg="([^"]+?\.jpg)"
    

    Or if you only want to allow a handful of image extensions, you can use an expression like this:

    data-thumb-bg="([^"]+?\.(?:jpe?g|png|gif))"
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 BP神经网络控制倒立摆
  • ¥20 要这个数学建模编程的代码 并且能完整允许出来结果 完整的过程和数据的结果
  • ¥15 html5+css和javascript有人可以帮吗?图片要怎么插入代码里面啊
  • ¥30 Unity接入微信SDK 无法开启摄像头
  • ¥20 有偿 写代码 要用特定的软件anaconda 里的jvpyter 用python3写
  • ¥20 cad图纸,chx-3六轴码垛机器人
  • ¥15 移动摄像头专网需要解vlan
  • ¥20 access多表提取相同字段数据并合并
  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算