在WordPress中使用正则表达式

时间:2014-07-18 22:00:13

标签: php regex wordpress rss wordpress-plugin

我有一个自动检索RSS源的WordPress插件,一些RSS源以下列格式注入不需要的广告:

src="http://rss.feedsportal.com/c/669/f/9809/s/3b7b71e8/sc/5/mf.gif" border="0" /><br clear='all'/><br /><br /><a href="http://da.feedsportal.com/r/199108411625/u/49/f/9809/c/669/s/3b7b71e8/sc/5/rc/1/rc.htm" rel="nofollow"><img src="http://da.feedsportal.com/r/199108411625/u/49/f/9809/c/669/s/3b7b71e8/sc/5/rc/1/rc.img" border="0" /></a><br /><a href="http://da.feedsportal.com/r/199108411625/u/49/f/9809/c/669/s/3b7b71e8/sc/5/rc/2/rc.htm" rel="nofollow"><img src="http://da.feedsportal.com/r/199108411625/u/49/f/9809/c/669/s/3b7b71e8/sc/5/rc/2/rc.img" border="0" /></a><br /><a href="http://da.feedsportal.com/r/199108411625/u/49/f/9809/c/669/s/3b7b71e8/sc/5/rc/3/rc.htm" rel="nofollow"><img src="http://da.feedsportal.com/r/199108411625/u/49/f/9809/c/669/s/3b7b71e8/sc/5/rc/3/rc.img" border="0" /></a><br /><br /><a href="http://da.feedsportal.com/r/199108411625/u/49/f/9809/c/669/s/3b7b71e8/sc/5/a2.htm"><img src="http://da.feedsportal.com/r/199108411625/u/49/f/9809/c/669/s/3b7b71e8/sc/5/a2.img" border="0" /></a><img width="1" height="1" src="http://pi.feedsportal.com/r/199108411625/u/49/f/9809/c/669/s/3b7b71e8/sc/5/a2t.img" border="0" />

该插件具有正则表达式搜索和替换工具。现在我想查找包含* feedsportal.com的所有字符串/代码行,并替换为null或空值。应该在Search中添加什么代码以及在Replace中添加什么?

我还有另一个问题,即导入的所有帖子图片都是左对齐的,而我需要将帖子中的所有图片对齐到中心,同时保持文本/段落格式不变?

1 个答案:

答案 0 :(得分:2)

无法就法律问题提供建议,但在正则表达式中,以下是如何清空这些字符串:

$replaced = preg_replace('/"\K[^"]*?feedsportal.*?(?=")/', '', $yourstring);

请参阅the regex demo

<强>解释

  • "与开头报价
  • 相符
  • \K告诉引擎放弃与其返回的最终匹配项目匹配的内容
  • [^"]*?懒惰地匹配任何非引用的字符......
  • feedsportal
  • .*?懒惰地匹配任何字符......
  • 前瞻(?=")可以断言后面的内容是结束报价
  • 我们用空字符串替换

<强>参考