2011-01-04 3 views
0

Ich verwende embed.ly zum Einbetten von Links, wenn ein Benutzer [embed = LINK] eingibt. Ich benutze das jQuery-Plugin embed.ly.Verwenden von embed.ly, um nur bestimmte Links einzubetten

ich nur Links möchten, die als Einbettungs markiert sind, eingebettet werden:

Zum Beispiel, wenn es zwei Verbindungen:

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

und

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

Ich möchte nur die zweite Der Link wird eingebettet und der erste als Link angezeigt.

Ich verwende den folgenden Code alle Embed-Tags zu finden:

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']); 
     } 
    } 
} 

ich jQuery verwenden und embedly in der Kopfzeile:

<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> 

Haben Sie Anregungen haben, wie ich mich über sollte Dies? Prost.

Antwort

0

Sie sind 98% des Weg dorthin. Es gibt nur ein paar Dinge, die Sie hinzufügen/ändern sollten und Sie werden festgelegt.

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

Dann nutzen Sie die Klasse, die wir gerade hinzugefügt sagen Embedly jQuery welche <a> Tags einzubetten:

ändern Zeile 9 der PHP-Code, der eine Klasse embedly hinzuzufügen.

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

Erledigt.

+0

lol, du bist großartig, ... hast du dich angemeldet, nur um das zu beantworten? Wenn ja :) –