使用preg_match提取MMS参考

时间:2012-09-03 09:23:14

标签: php regex

好的,我有:

<ASX version = "3.0"> <Entry> <Ref href = "mms://173.239.17.41/FGM-Streams/baker/000803-Heidi_Baker-Signs_&_Wonders-3.wmv" /> </Entry> </ASX>

作为文件内容字符串,我只想提取ref href =“....”的行,这样我就可以获得MMS网址。

我如何preg_match()那个?

1 个答案:

答案 0 :(得分:0)

如果您只需匹配mms - 链接,您需要的正则表达式可能应该提及:

if (preg_match('#(mms:[^"]*)#', $test_string, $matches) ) { ... }

(实际上,使用mms:[^"'\s]*可能更好,因为即使引号是单一的 - 或完全省略它也能正常工作)

否则,只需捕获href部分:

if (preg_match('#href\s*=\s*"([^"]*)"#', $test_string, $matches) ) { ... }

方法(一般而言)很简单:从一个不是结束分隔符的“开始分隔符”开始捕获所有东西(在你的情况下是")。