使用embed.ly仅嵌入某些链接

时间:2011-01-04 21:20:07

标签: php jquery embed

当用户输入[embed = LINK]时,我正在使用embed.ly嵌入链接。我正在使用jQuery embed.ly插件。

我只希望嵌入标记为嵌入的链接:

例如,如果有两个链接:

http://www.youtube.com/watch?v=7aPGa9Gqj2c&feature=related

[embed=http://www.youtube.com/watch?v=7aPGa9Gqj2c&feature=related]

我只希望嵌入第二个链接,第一个链接显示为链接。

我使用以下代码查找所有Embed标记:

if (preg_match_all('/\[Embed=([^\]]+)\]/i', $input['body'], $matches, PREG_SET_ORDER)) 
{
    $get_embedly = true;

    foreach ($matches as $match) 
    {
        if (preg_match($embedly_re, $match[1])) // $embedly_re = list of sites allowed
        {
            $input['body'] = str_replace($match[0], '> '. "<a href=\"$match[1]\">$match[1]</a>", $input['body']);
        }
    }   
}

我使用jQuery并嵌入标题中:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript" src="js/embedly/jquery.embedly.js"></script>

你对我应该怎么做有什么建议吗?欢呼声。

1 个答案:

答案 0 :(得分:0)

你在98%的路上。你应该添加/更改一些东西,你将被设置。

更改PHP代码的第9行以添加类embedly

$input['body'] = str_replace($match[0], '> '. "<a class=\"embedly\" href=\"$match[1]\">$match[1]</a>", $input['body']);

然后使用我们刚刚添加的类告诉Embedly jQuery要嵌入的<a>个标签。

$('a.embedly').embedly( {maxWidth: 500, method: "replace"});

完成。