Eigener BBCode - Benötige Hilfe.

  • Hallo, ich möchte eine eigene Bilderfunktion in mein Forum einfügen.
    Ich habe ein Verzeichnis mit Bildern auf dem Webhost und möchte, dass man nur den Bildernamen zwischen die Tags eingeben muss, um die Bilder aufzurufen.
    Quasi so: [Bild]ABC[/Bild], das ABC soll allerdings so in den Befehl eingebettet sein: <img src=URL/ABC.jpg>

    Habe es nach dem Beispiel wie hier BBCode erstellen versucht zu erstellen, bekomme aber immer einen Synthax-Fehler in Line 6 angezeigt. Der kommt aber auch wenn ich den Befehl 1:1 wie im anderen Thread übernehme.

    PHP
    <?php
    namespace wcf\system\bbcode;
    use wcf\util\StringUtil;
    class LinkBBCode extends AbstractBBCode {
     public function getParsedTag(array $openingTag, $content, array $closingTag, BBCodeParser $parser) {
      return "<img src=\"LINK/".$content."\">";
    }
    }

    Nach dem Beispiel müsste ich eh das .jpg ja mit eingeben, am liebsten wäre mir aber eine Variante bei ich nur den Bildernamen eingeben muss und das .jpg schon im Code eingefügt ist. Könnt ihr mir helfen? Bin leider der Programmiersprache nicht mächtig.

    Edited 2 times, last by Bigggassi ().

  • wenn das .jpg schon dabei sein soll dass musst du statt:

    return "<img src=\"LINK/".$content."\">";

    Code
    return "<img src=\"LINK/".$content.".jpg\">";

    machen.
    einziges Problem. dieser code wird dann failen wenn es keine jpg sondern eine GIF oder PNG ist

    aus angst vor Capslock nutze ich selten shift.


    in fear of capslock I rarely use shift.

  • Also ich hab jetzt folgenden Code verwendet

    PHP
    <?php
    namespace wcf\system\bbcode\;
    use wcf\util\StringUtil;
    class LinkBBCode extends AbstractBBCode {
     public function getParsedTag(array $openingTag, $content, array $closingTag, BBCodeParser $parser) {
    return "<img src=\"http://Standard-URL/bilder/spieler/".$content.".jpg\">";
    }
    }

    und bekomme folgende Fehlermeldung:


    Parse error: syntax error, unexpected ';', expecting T_STRING in/home/username/public_html/woltlab/wcf/lib/system/bbcode/PlayersBBCode.class.php on line 2


    Ich hab ja diesen Code von einem ähnlichen Thread verwendet. Wie oben geschrieben will ich im Prinzip einen BBCode erstellen, bei dem man den Namen des Bildes immer selbst manuell in der Nachricht bestimmen kann. Kann mir jemand sagen, was ich falsch mache und wie es richtig sein müsste? Vielen Dank im Voraus. :)

    • Official Post

    In Zeile 2 ist am Ende ein Backslash (\) zu viel, es muss namespace wcf\system\bbcode; lauten.

    Alexander Ebert
    Senior Developer WoltLab® GmbH

  • Vielen Dank für die Anmerkungen. Ich hab beide Fälle ausprobiert, bekomme in beiden Fällen aber eine neue Fehlermeldung und zwar: "Diese Klasse wurde nicht gefunden" (siehe Screenshot). Ich habe die Datei Players.class.php genannt und in den Pfad zu den anderen BBCodes gelegt. Das ist eigentlich sehr verwunderlich, denn mit dem "/" zu viel wurde die Klasse eigentlich gefunden.


  • Und welchen Namen hast Du in der Klasse selbst verwendet?





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!