doubiao9775 2015-06-23 11:19
浏览 55
已采纳

Php正则表达式多行搜索问题

I am trying to get all characters between style tag. this is my regex

 '#<style>(.*?)</style>'

It is producing result correctly However it is not working for multi line

Working correctly for this :

<style>body { height: '100%'; }</style>

This is not working

<style> 
body { 
  height: '100%'; 
}

</style>

I know /s or [/s/S] or s would work but I dont how they will work

Regards

  • 写回答

3条回答 默认 最新

  • dongxian3574 2015-06-23 12:05
    关注

    You can use pattern modifiers to match on multilines with PCRE regex : http://php.net/manual/en/reference.pcre.pattern.modifiers.php

    m is the multiline modifier. s is the modifier to allow dot to match new lines too. So how about a pattern like this one:

    '#<style>(.*?)</style>#ms'
    

    I think you can also be interested in the imodifier since tags can be worded <style> or <STYLE> or other flavors <StYlE> wich are all valid.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)