Использование embed.ly только для вставки определенных ссылок - PullRequest
0 голосов
/ 05 января 2011

Я использую embed.ly для встраивания ссылок, когда пользователь вводит [embed = LINK].Я использую плагин 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']);
        }
    }   
}

Iиспользуйте 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 голосов
/ 05 января 2011

Вы на 98% пути туда.Есть только пара вещей, которые вы должны добавить / изменить, и вы будете настроены.

Измените строку 9 своего PHP-кода, добавив класс 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"});

Готово.

...