PHP在字符串中查找特定的域链接

时间:2017-04-28 16:11:55

标签: php hyperlink get expression

我需要在文本中找到一个以域zippyshare开头的url并将其放入var中。我知道我必须使用正则表达式,但我不知道如何制作它。假设我们在文本中有3个链接

Facebook: https://facebook.com/pumpsquadofficial Instagram: https://instagram.com/pump_squadpl DOWNLOAD MP3: http://www42.zippyshare.com/v/d6LnGjH8/file.html

我需要找到并将此链接“www.42.zippyshare.com/v/blahblahblah”放入<a href="$link">。你知道怎么做吗?抱歉我的英文。

1 个答案:

答案 0 :(得分:0)

你的问题很模糊......显然你可以提取链接寻找该域名:

<?php
$data = <<<LINKS
Facebook: https://facebook.com/pumpsquadofficial Instagram: https://instagram.com/pump_squadpl DOWNLOAD MP3: http://www42.zippyshare.com/v/d6LnGjH8/file.html Some more text
LINKS;
preg_match('~(http://\w+\.zippyshare\.com/[^\s]+)~', $data, $tokens);
echo sprintf('<a href="%s">', $tokens[1]);

输出显然是:

<a href="http://www42.zippyshare.com/v/d6LnGjH8/file.html">

我认为有必要花一些时间来定义您实际可以依赖的信息来提取该链接。域名真的总是那个zippyshare.com吗?或者您可能需要始终提取DOWNLOAD MP3之后的链接?