[3.3] BBCODE frage

Fragen rund um die Installation, Administration und Benutzung von phpBB.
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Benutzeravatar
chris1278
Mitglied
Beiträge: 3858
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

[3.3] BBCODE frage

Beitrag von chris1278 »

Hallo also folgendes. Ich habe einen BBcode für spotify (nein ich nutze nicht die ext plugged media oder wie die sich nennt. Das ist ganz bewusst so)

Der Code sieht so aus:

BBcode Nutzung:

Code: Alles auswählen

[spotify]https://open.spotify.com/{IDENTIFIER1}/{IDENTIFIER2}[/spotify]
html-Ersetzung:

Code: Alles auswählen

<span data-s9e-mediaembed="spotify" style="display:inline-block;width:100%;max-width:320px"><span style="display:block;overflow:hidden;position:relative;padding-bottom:125%;padding-bottom:calc(100% + 80px)">
<iframe allow="encrypted-media" allowfullscreen="" loading="lazy" scrolling="no" src="https://open.spotify.com/embed/{IDENTIFIER1}/{IDENTIFIER2}" style="border:0;height:100%;left:0;position:absolute;width:100%"></iframe>
</span>
Und zwar das funktioniert auch soweit eigentlich aber:

Die links sehen z.B. so aus:

Code: Alles auswählen

https://open.spotify.com/playlist/3GMwHqmEVkprAUvzqVUe3y?si=9e6e4a71cf5245dc
https://open.spotify.com/album/3og8X1LYiVq3nPdMxpM9Wb?si=ygn0HBEIRF-GwdYM-VxdMw
Einmal für playlist und einmal für album. Das hab ich ja auch eigentlich simpel gelösst da ich dafür einen eigenen identifer einsetze. Das problem ist das aus dem link eigentlich das hier ?si=... entfernt werden müsste bzw. nicht bachtet werden sollte.

Und hier die frage gäbe es dafür eine Möglichkeit das der identifer nur ab dem slash das erkennt bis zu dem fragezeichen?

Im Grunde müsste von diesem link hier:

https://open.spotify.com/playlist/3GMwHqmEVkprAUvzqVUe3y?si=9e6e4a71cf5245dc

Nur das gelesen werden mit dem bbcode;

https://open.spotify.com/playlist/3GMwHqmEVkprAUvzqVUe3y
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [3.3] BBCODE frage

Beitrag von BNa »

Mit JS isses easy:

Code: Alles auswählen

var url = 'https://open.spotify.com/playlist/3GMwHqmEVkprAUvzqVUe3y?si=9e6e4a71cf5245dc';
url = url.slice( 0, url.indexOf('?') );
alert( url );
Einfach oben Links auf Run klicken:
http://jsfiddle.net/5me3wo84/1/

Ergebnis:
https://open.spotify.com/playlist/3GMwHqmEVkprAUvzqVUe3y

Den Rest der kleinen Zauberei solltest Du dann niermit hinbekommen:
https://www.w3schools.com/js/js_output.asp

Denk mal, Du schaffst das.

Kann auch sein, das sowas der neue s9e-TextFormatter (BBCode-Engine) schon von Hause aus beherrscht :wink:
https://github.com/s9e/TextFormatter
https://s9etextformatter.readthedocs.io/
Benutzeravatar
IMC
Mitglied
Beiträge: 725
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] BBCODE frage

Beitrag von IMC »

BNa hat geschrieben: 13.03.2022 22:30 Kann auch sein, das sowas der neue s9e-TextFormatter (BBCode-Engine) schon von Hause aus beherrscht :wink:
https://github.com/s9e/TextFormatter
https://s9etextformatter.readthedocs.io/
Das geht mit der Funktion substring-before.
Siehe: https://www.data2type.de/xml-xslt-xslfo ... ing-before

Mit dem Event core.text_formatter_s9e_configure_after kann das Template des BBCodes bearbeitet werden.
<xsl:value-of select="substring-before(@src, \'?si=\')"/>
Gruß, Thorsten
Benutzeravatar
chris1278
Mitglied
Beiträge: 3858
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] BBCODE frage

Beitrag von chris1278 »

Nun gut alles schön und gut. Aber geht das umzusetzen in eben der htmls ersetzung des bbcodes?
Benutzeravatar
Cowboy of Bottrop
Mitglied
Beiträge: 320
Registriert: 01.02.2017 21:11
Wohnort: Bottrop anne Emscher
Kontaktdaten:

Re: [3.3] BBCODE frage

Beitrag von Cowboy of Bottrop »

So wie ich das sehe, wird ein kopierter Link in den BBCode eingefügt. Der kopierte Link enthält einen URL-Parameter, der in der HTML-Ersetzung nicht mehr vorhanden sein soll. Heißt also, dass die phpBB interne Funktion für BBCode diesen URL-Parameter entfernen muss. Ich stecke da nicht wirklich im Thema, aber ich meine Zweifel, dass das geht. Ich lasse mich aber gerne eines Besseren belehren.
Keep it County,
Markus aka Cowboy
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: [3.3] BBCODE frage

Beitrag von BNa »

Cowboy of Bottrop hat geschrieben: 14.03.2022 21:44aber ich meine Zweifel, dass das geht.
Geht easy, will aber nicht die Lehre des Chris stören :)
Benutzeravatar
IMC
Mitglied
Beiträge: 725
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] BBCODE frage

Beitrag von IMC »

Dies ist reines "trial and error"!

Ersetze mal
{IDENTIFIER2}

mit
<xsl:value-of select="substring-before(\'{IDENTIFIER2}\', \'?si=\')"/>

Edit:
habe ich eben getestet - geht so nicht!
Zuletzt geändert von IMC am 14.03.2022 23:00, insgesamt 1-mal geändert.
Gruß, Thorsten
Benutzeravatar
Cowboy of Bottrop
Mitglied
Beiträge: 320
Registriert: 01.02.2017 21:11
Wohnort: Bottrop anne Emscher
Kontaktdaten:

Re: [3.3] BBCODE frage

Beitrag von Cowboy of Bottrop »

In der HTML-Ersetzung?
Keep it County,
Markus aka Cowboy
Benutzeravatar
chris1278
Mitglied
Beiträge: 3858
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] BBCODE frage

Beitrag von chris1278 »

@imc

Also in der html ersetzung kann ich das so nicht tauschen da meldet der mir das das template da falsch sei. und in der bbcode Nutzung bringt das nix.

@bna

Ok das mit dem JavaScript ist ne guter Ansatz. Wenn man das in den bbcode selber mit einbinden kann.
Benutzeravatar
IMC
Mitglied
Beiträge: 725
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] BBCODE frage

Beitrag von IMC »

chris1278 hat geschrieben: 14.03.2022 22:40 Ok das mit dem JavaScript ist ne guter Ansatz. Wenn man das in den bbcode selber mit einbinden kann.
Habe ich auch getestet, geht auch nicht.

Edit:
Mit dem JavaScript im Template wird es auch nichts.
Der BBCode wird nicht von phpBB verarbeitet sobald die Zeichen "?" und /oder "=" im {IDENTIFIER2} vorhanden sind.
Gruß, Thorsten
Antworten

Zurück zu „Support-Forum“