Zur Navigation

YouTube & Co.

Einbindung von Viedeos

1 User 103 (Ex-Mitglied)

Gibt es die Möglichkeit, ein Plugin zu installieren (Videosm?), so dass YouTube-Links nicht erst besucht werden müssen, sondern direkt im Forum eingebunden werden können?

13.02.2009 12:44

2 Jörg Kruse

Nein, dafür gibt es kein Plugin. Was meinst du mit Videosm?

13.02.2009 18:55

3 User 103 (Ex-Mitglied)

Zitat von Jörg
Nein, dafür gibt es kein Plugin. Was meinst du mit Videosm?

Das m hat sich reingeschmuggelt...

16.02.2009 17:19

4 Jörg Kruse

Ich könnte vielleicht optional einen entsprechenden BBCode einbauen, also so etwas in der Art:

[video]http://example.com/video.swf[/video]

Die nächste Forenversion wird allerdings noch einige Zeit auf sich warten lassen.

19.02.2009 21:22

5 User 103 (Ex-Mitglied)

An welcher Stelle bzw. in welcher Datei wird dieser bbcode denn geparst? Man könnte dies ja selber machen...

20.02.2009 20:32

6 Lionel

Hi Stralsunder!
Ich habe mal nachgesucht und der entsprechende Umwandlungscode scheint in der includes/main/post/functions.php zu liegen. Lass mich wissen, wenn Du da irgendeine Anpassung hinbekommen hast lächel. Ich will vielleicht auch ein bischen damit herumexperimentieren.

22.02.2009 00:40

7 Jörg Kruse

Es muss da etwas mehr geändert werden.

Die folgenden Änderungen beziehen sich auf die Foren-Version 1.2, getestet habe ich sie mit den Browsern Firefox und Opera.

In der Datei /includes/main/post/functions.php diesen Abschnitt suchen:
    if ($linktf == 1) {
        $text = str_replace('[img]', '[img]=', $text);
        $text = preg_replace('/(\]|\n| |>|\A)(http|https|ftp):\/\/(\S+)(\[| |<|\Z)/isU', '\\1<a href="\\2://\\3">\\2://\\3</a>\\4', $text);
        $text = str_replace('[img]=', '[img]', $text);
    }

... und folgendermaßen abändern:
    if ($linktf == 1) {
        $text = preg_replace('/\[(img|video)\]/isU', '[\\1]=', $text);
        $text = preg_replace('/(\]|\n| |>|\A)(http|https|ftp):\/\/(\S+)(\[| |<|\Z)/isU', '\\1<a href="\\2://\\3">\\2://\\3</a>\\4', $text);
        $text = preg_replace('/\[(img|video)\]=/isU', '[\\1]', $text);
    }

Dann hinter diese Zeile:
$text = preg_replace('/\[img\]http(s?):\/\/([a-zA-Z_0-9\-\.\/]+)\.(png|jpg|jpeg|gif)\[\/img\]/isU', '<img src="http\\1://\\2.\\3" alt="" />', $text);

... diese Zeile hinzufügen:
$text = preg_replace('/\[video\]http(s?):\/\/([a-zA-Z_0-9\-\.\/]+)\[\/video\]/isU', '<object type="application/x-shockwave-flash" data="http\\1://\\2" class="video"><param name="movie" value="http\\1://\\2"></param></object>', $text);

In der CSS-Datei diesen Abschnitt mit den Standardmaßen der Youtube-Videos hinzufügen:
.video {
width:425px;
height:350px;
}

Ein Youtube-Video kann man dann mit folgendem BBCode in einen Forenbeitrag einbinden:
[video]http://www.youtube.com/v/<ID des Videos>[/video]

22.02.2009 14:54 | geändert: 22.02.2009 15:05

8 User 103 (Ex-Mitglied)

Funktioniert bei mir problemlos, ist aber etwas umständlich da man die YouTube-Videoadresse nicht direkt einbinden kann.
Aber auf jeden Fall besser als ne Verlinkung.

Wie müsste man die User-Info betreffs der BBCode ändern?

24.02.2009 13:07

9 Jörg Kruse

Was meinst du mit "direkter Videoadresse" - die Youtube-Seite, auf der das Video angezeigt wird? Die soll ja nicht eingebunden werden, sondern nur das Video selbst, und dieses hat anscheinend diese Adressform. Umständlich ist das schon etwas - aber das liegt an Youtube, dass sie diese URL nicht direkt anzeigen, sondern nur einen HTML-Code zum Einbetten, den man hier nicht verwenden kann

Wie müsste man die User-Info betreffs der BBCode ändern?

Du kannst in der Datei /includes/content/bbcode.php an passender Stelle so etwas in der Art einbauen:

<div class="innen">
<h2>Video</h2>
<pre><code>[video]http://www.youtube.com/v/&lt;ID des Videos&gt;[/video]</code></pre>
</div>

24.02.2009 14:32

10 User 103 (Ex-Mitglied)

Habs mal so versucht (schlimm Jörg?)...

if ($imgtf == 1) {
    ?>
<div class="innen">
<h2>Bild</h2>
<pre><code>[img]<?php echo $u_board_l; ?>/images/joergs-forum.gif[/img]</code></pre>
<p>... wird zu:</p>
<p><img src="<?php echo $u_board_l; ?>/images/joergs-forum.gif" alt="" /></p>
</div>
<div class="innen">
<h2>Video</h2>
<pre><code>[video]http://www.youtube.com/v/<strong>???</strong>[/video]</code></pre>
<p>Statt der drei Fragezeichen bitte den Code des YouTube-Videos einfügen, um das Video direkt im Beitrag anzuzeigen.</p>
<p>z.B.: [video]http://www.youtube.com/v/<strong>OSXxoo9ykEg</strong>[/video]</p>
</div>

<?php

24.02.2009 15:07