特定iframe的Preg_replace

时间:2019-06-20 15:46:15

标签: php preg-replace

编写一个快速插件,将Amazon Associate链接从电子邮件和提要中删除,以免破坏服务条款。除了iframe之外,一切都可以解决。

一个典型的iframe关联链接看起来像这样

 <iframe style="width:120px;height:240px;" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" src="//ws-eu.amazon-adsystem.com/widgets/q?ServiceVersion=20070822&OneJS=1&Operation=GetAdHtml&MarketPlace=GB&source=ac&ref=qf_sp_asin_til&ad_type=product_link&tracking_id=keepchickens-21&marketplace=amazon&region=GB&placement=1473689309&asins=1473689309&linkId=2ee7072c3050c40cded9c2ecdb317332&show_border=true&link_opens_in_new_window=true&price_color=333333&title_color=0066c0&bg_color=ffffff">
</iframe> 

此正则表达式

/(<iframe )(.*)(amazon.adsystem.com).*/

整理除结束iframe标记外的所有内容 我尝试过

的变体
/(<iframe )(.*)(amazon.adsystem.com).*(</iframe>)/

但是无法使其正常工作。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我们可能希望在此处传递类似于以下内容的换行符:

ForEach

Demo

测试

ForEach(wordList.keys.sorted().identified(by: \.self)) { key in
    let lang1 = wordListEntry[wordOrder[0]]
    let lang2 = wordListEntry[wordOrder[1]]
    return WordRow(lang1, lang2)
}

输出

(<iframe)([\s\S]*?)(amazon.adsystem.com)([\s\S]*?)(<\/iframe>)