Seite 1 von 2

[3.3] BBCODE frage

Verfasst: 13.03.2022 09:03
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

Re: [3.3] BBCODE frage

Verfasst: 13.03.2022 22:30
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/

Re: [3.3] BBCODE frage

Verfasst: 14.03.2022 21:06
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=\')"/>

Re: [3.3] BBCODE frage

Verfasst: 14.03.2022 21:34
von chris1278
Nun gut alles schön und gut. Aber geht das umzusetzen in eben der htmls ersetzung des bbcodes?

Re: [3.3] BBCODE frage

Verfasst: 14.03.2022 21:44
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.

Re: [3.3] BBCODE frage

Verfasst: 14.03.2022 22:19
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 :)

Re: [3.3] BBCODE frage

Verfasst: 14.03.2022 22:30
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!

Re: [3.3] BBCODE frage

Verfasst: 14.03.2022 22:34
von Cowboy of Bottrop
In der HTML-Ersetzung?

Re: [3.3] BBCODE frage

Verfasst: 14.03.2022 22:40
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.

Re: [3.3] BBCODE frage

Verfasst: 14.03.2022 23:02
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.