【问题标题】:Help with PHP preg_replace() REGEX for MP3 URLs帮助 MP3 URL 的 PHP preg_replace() 正则表达式
【发布时间】:2011-03-10 11:32:49
【问题描述】:

我已经四处寻找一个正则表达式来帮助我找到一个以 mp3 作为 href 的锚标记。我想首先得到一个正则表达式来定位这个模式,这样我就可以用播放器替换这些链接,接下来我需要从 href 中提取链接。

我几乎不明白如何创建或使用正则表达式,所以任何帮助实现这一点都会很有用。

谢谢, 杰西

【问题讨论】:

  • 您在寻找正则表达式模式吗?
  • 我对这样的盗链者有一个很好的重写规则:)

标签: php mp3 anchor href


【解决方案1】:

假设您已经获得了链接——例如get_elements_by_tagname('a')— 你需要做的就是:

if( substr($href, -4)=='.mp3' ){
    // Is an MP3 link
}

【讨论】:

    【解决方案2】:

    这样就可以了

    ~<a.*?href="(?P<url>.*?\.mp3(?:\?.*?)?)".*?>~is
    

    然而,它几乎不能被认为是最优的。

    【讨论】:

    • 几乎没有最优是什么意思,有更好的方法吗?
    【解决方案3】:

    起初,这对我来说并不奏效。我做了一些改变,现在我明白了。我需要将 ~ 更改为 / 并且我必须一直替换到结束锚标记,所以这就是我使用的内容。

    /&lt;a.*?href="(?P&lt;url&gt;.*?\.mp3(?:\?.*?)?)"&gt;.*?&lt;\/a&gt;/is

    感谢您让我找到正确的方向

    【讨论】:

      猜你喜欢
      • 2011-11-02
      • 1970-01-01
      • 2011-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多