Seite 1 von 1

3 Fragen zu BBCode

Verfasst: 24.12.2011 00:33
von Pikkolini
Hallo,
ich habe drei Fragen zu selbst erstellten BBCodes.

1. Zum einbinden von YouTube-Videos habe ich diesen BBCode erstellt:

Code: Alles auswählen

[youtube]http://www.youtube.com/watch?v={LOCAL_URL}[/youtube]

<iframe width="640" height="360" src="http://www.youtube.com/embed/{LOCAL_URL}?feature=player_embedded" frameborder="0" allowfullscreen></iframe>
Mit dem LOCAL_URL Token möchte ich erreichen, dass auch ein &-Zeichen in der URL erlaubt ist. Also sowas hier http://www.youtube.com/watch?v=dfshij&feature=related. Das Problem dabei ist jedoch, dass das &-Zeichen zu & escaped wird... Wie kann ich das beheben?

2. Wenn ich möchte, dass statt http://www.youtube.com auch einfach nur http://youtube.com möglich ist, brauche ich ein Token, was auch keinen Text zulässt. Aber anscheinend gibt es sowas nicht. Gibt es dafür eine Lösung.

3. Im Forum dann selbst wird mein Tag für den BBCode youtube genannt. Wenn ich in den Einstellungen die Tipp-Anzeige ändere, wird nur der Hovertext bearbeitet, nicht aber der Name selbst. Wie bekomm ich das nun hin?

Danke schonmal für eure Antworten :)

Re: 3 Fragen zu BBCode

Verfasst: 24.12.2011 01:19
von Mahony
Hallo
Am besten du schaust dich mal hier um http://www.phpbb3bbcodes.com/viewforum.php?f=3


Grüße: Mahony

Re: 3 Fragen zu BBCode

Verfasst: 24.12.2011 10:59
von zx9r-treiber
Also ich habe es so gelöst. Es braucht nur noch der eigendliche Dateiname des YouTube Videos eingestellt werden. (also alles nach dem "=" Zeichen des kompletten Link)

also nur das Rot makierte aus dem Beispiel = http://www.youtube.com/watch?v=YxW98r_m2WI&feature=related

BBCode-Benutzung =

Code: Alles auswählen

[YouTube]{TEXT}[/YouTube]
HTML-Ersetzung =

Code: Alles auswählen

<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/{TEXT}"></param><embed src="http://www.youtube.com/v/{TEXT}" type="application/x-shockwave-flash" width="425" height="350"></embed></object>
Es wird das Videofenster im Beitrag dargestellt und auf "Klick" gestartet.
Es werden alle Zeichen, Buchstaben oder Zahlen angenommen und umgesetzt so das der Video läuft.

Re: 3 Fragen zu BBCode

Verfasst: 01.01.2012 04:05
von Erdzengel
Da ich glaube, das die meisten einfach den kompletten Link kopieren und dann ins Forum bzw. in den Tag einfügen wollten habe ich am Ende folgendes gemacht:
BBCode-Benutzung

Code: Alles auswählen

[youtube]http://www.youtube.com/watch?v={IDENTIFIER}&feature={TEXT}[/youtube]
HTML-Ersetzung

Code: Alles auswählen

<iframe width="640" height="360" src="http://www.youtube.com/embed/{IDENTIFIER}" frameborder="0" allowfullscreen></iframe>
Funktioniert wunderbar. Der {IDENTIFIER} gibt den Zugriff frei, das &feature= ist fester bestandteil und gleichzeitig eine abgrenzung zwischen ID und dem nachfolgenden Text der nicht mehr mit in die HTML-Ersetzung hinein soll und {TEXT} ist eben der restliche Text aus dem kopierten Youtube-Link der ebenfalls nicht in die HTML-Ersetzung gehört.

LG Erdzengel

Re: 3 Fragen zu BBCode

Verfasst: 02.01.2012 00:03
von hackepeter13
iframe ist aber auch nicht wircklich xhtml-valid, daher empfehlt sich dennoch die object-Variante. ;)

Re: 3 Fragen zu BBCode

Verfasst: 02.01.2012 00:23
von Erdzengel
Aber gibts die Variante denn noch?
Ich musste erst suchen obs Lösungen gibt und object Varianten funktionierten bei mir nicht.
Danach schaute ich direkt in Youtube unter der Einbettung nach und da zeigt einem Youtube nur noch die iframe Variante an.
Ich als nichtprofi bin davon ausgegangen, das bei mir deshalb die object Varianten nicht mehr funktionierten, weil es diese nicht mehr gibt. Die Lösungen die ich fand waren auch schon alle 2007, 2008 und 2009 beantwortet und Youtube hat sich seitdem auch viel verändert.

Dann jedoch kam ich hier auf diesen Thread indem ich zum ersten mal eine Lösung zum iframe fand. (nach ca. 4 Stündiger suche). Das habe ich angenommen und rumprobiert bis ich schliesslich ca. weitere 5 Stunden später (wie gesagt ich bin kein Profi und hab deshalb immer wieder ausprobieren müssen) meine Lösung hatte, die auch endlich das Video anzeigte.

Es ist keine komplettlösung denn Youtube bietet 3 verschieden Url's zu einem Video an je nachdem, wie man auf das Video zugreift:
1. Diese Variante tritt meist dann auf, wenn man bereits ein Video geöffnet hat und dann aus dem Menü ein weiteres öffnet.

Code: Alles auswählen

http://www.youtube.com/watch?v= XXXXXXXXXX &feature= XXXXXXXXXXXX
2. Diese Variante tritt meist dann auf, wenn man ein Video aus einem Kanal aufruft.

Code: Alles auswählen

http://www.youtube.com/watch?v= XXXXXXXXXX &context= XXXXXXXXXXXX
und 3. Diese Variante tritt auf, wenn man ein Video über die Standardsuche aus der Liste auswählt.

Code: Alles auswählen

http://www.youtube.com/watch?v= XXXXXXXXXX
Das habe ich mehrfach getestet...

Somit habe ich sogar meine Variante noch umgebaut zu diesem:

Code: Alles auswählen

http://www.youtube.com/watch?v={IDENTIFIER}&{TEXT}
Somit gibt es schonmal keinen unterschied mehr zwischen dem feature und dem context. Normale Videos jedoch müssen so immer mindestens um ein & erweitert werden. Wenns ne allgemeine lösung gibt wäre ich dankbar aber die object Variante funktionierte bei mir leider garnicht.

LG

Re: 3 Fragen zu BBCode

Verfasst: 02.01.2012 11:26
von hackepeter13
Erdzengel hat geschrieben:Aber gibts die Variante denn noch?
Ähm ja warum sollte diese nicht geben.
Es gibt im Internet sogar zig Anleitungen, wie man iframes in xhtml-valide object umschreibst, da diese ja iframe quasi ersetzt hat :roll:

Eigentlich gibt es auch in vielen phpBB3-Foren mit BBCodes-Anleitungen die auf eine object HTML-Ersetzung setzen.
Auch in meiner BBCodeBox3 wird eine object Variante verwendet:

BBCode-Benutzung:

Code: Alles auswählen

[youtube]http://{TEXT1}.youtube.{TEXT2}/watch{TEXT5}v={TEXT3}[/youtube]
HTML-Ersetzung:

Code: Alles auswählen

<object type="application/x-shockwave-flash" style="width:425px; height:344px" data="http://{TEXT1}.youtube.{TEXT2}/v/{TEXT3}">
<param name="movie" value="http://{TEXT1}.youtube.{TEXT2}/v/{TEXT3}&hl=de&fs=1&rel=0&hd=1" />
<param name="allowFullScreen" value="true" />
</object>
Funktionier bislang tatellos.

Im Prinzip kannst du das mit den Tokens (wie z.B. {TEXT}) beliebig anpassen, wichtig is dann eben nur das Grundgerüst object und param zu verwenden, also:

Code: Alles auswählen

<object type="application/x-shockwave-flash" style="width:425px; height:344px" data="">
<param name="movie" value="" />
<param name="allowFullScreen" value="true" />
</object>
data="" und value="" müssen nun eben entsprechend gefüllt werden.