ilch Forum » Allgemein » HTML, PHP, SQL,... » BBCode - Alt-Attribut im img-Tag

Geschlossen
  1. #1
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Ich bin gerade an einem eigenen Blog-Modul drann, das unteranderem auch einwenig SEO berücksichtigt.

    Im Grunde wie das News Modul nur etwas besser in der Handhabung und eben aufgeschraubter für SEO.


    Auf jeden Fall geht es mir um den BBCode.

    Ich möchte selbstverständlich Bilder in meinen Blog-Einträge haben.
    Die Suchmaschinen berücksichtigen natürlich auch die Begebenheiten der Bilder z.B. Name der Datei und Alt-Tag.

    Nun möchte ich einen img-Tag mit Alt-Attribut in den BBCode einbinden.


    Der soll wie folgt aussehen:
    1
    2
    3
    4
    5
    [img alt="Das ist ein Bild"]beispiel-bild.jpg[img]
     
    // Ergebnis
     
    <img src="beispiel-bild.jpg" alt="Das ist ein Bild" />



    Ich verstehe nicht ganz wo ich den BBCode um das erweitern muss, einfache dinge wie [youtube][/youtube] gehen noch aber zusätzliche Attribute - da happerts bei mir. zunge


    Kann mir wer dabei helfen?

    Habe extra hier gefragt damit auch andere User was davon haben und es ebenfalls übernehmen können, falls Interesse besteht. zwinker


    verwendete ilch Version: 1.1 P

    betroffene Homepage: www.cristiang.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    RedSunset Mitglied
    Registriert seit
    29.05.2009
    Beiträge
    173
    Beitragswertungen
    4 Beitragspunkte
    Du musst die include/includes/class/bbcode.php Datei anpassen. Ab Zeile 812 ca

    812
    813
    814
    815
    816
    817
    818
    819
    820
        //> Darf BB Code [IMG] dekodiert werden?
        if($this->permitted['img'] == true) {
            //> Format: [img]xxx.de[/img]
            $this->pattern[] = "%\[img\]([-a-zA-Z0-9@:\%_\+,.~#?&//=]+?)\[\/img\]%eUi";
            $this->replace[] = "\$this->_img('\$1')";
      //> Format: [img=left|right]xxx.de[/img]
      $this->pattern[] = "%\[img=(left|right)\]([-a-zA-Z0-9@:\%_\+,.~#?&//=]+?)\[\/img\]%eUi";
          $this->replace[] = "\$this->_img('\$2','\$1')";
    }


    hier müsstest du dann entsprechend einen Regex bauen, der auf das Alt= prüft und das alt dann an die Funktion _img übergeben

    Dann ab Zeile 243 ca, entsprechend den Parameter entgegen nehmen und das alt Attribut setzen

    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    //> Bilder auf Verkleinern via Javascript überprüfen.
    function _img($string, $float='') {
        if ($float == 'none' OR $float == 'left' OR $float == 'right') {
          $float = 'style="float:'.$float.'; margin: 5px;" ';
        } else {
          $float = '';
        }
        $image = '<img src="'.$string.'" alt="" title="" border="0" class="bbcode_image" '.$float.'/>';
        return $image;
    }
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Hier mal eine schnelle und weniger komplizierte Lösung, die für das alt-Attribut den Dateinamen ohne Dateiendung setzt:

    include/includes/class/bbcode.php
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //> Bilder auf Verkleinern via Javascript überprüfen.
        function _img($string, $float='') {
            if ($float == 'none' OR $float == 'left' OR $float == 'right') {
              $float = 'style="float:'.$float.'; margin: 5px;" ';
            } else {
              $float = '';
            }
            $path_parts = pathinfo($string);
            $filename = $path_parts['filename'];
            $image = '<img src="'.$string.'" alt="'.$filename.'" title="" border="0" class="bbcode_image" '.$float.'/>';
             
            return $image;
        }


    Idee: LordOfDeath
    Umsetzung: Outi77


    Zuletzt modifiziert von Outi77 am 24.05.2016 - 15:06:52
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Also mein BBCode geht nur bis 296
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    ZitatZitat geschrieben von Ahrtas
    Also mein BBCode geht nur bis 296

    ...und sieht auch komplett anders aus als seiner/meiner!
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    404
    Beitragswertungen
    44 Beitragspunkte
    Das ist nicht der Code vom BBCode 2.0 sondern vom Original ilch BBCode zwinker
    Deswegen sieht der auch anders aus als unserer zunge
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    ZitatZitat geschrieben von Jens238
    Das ist nicht der Code vom BBCode 2.0 sondern vom Original ilch BBCode zwinker
    Deswegen sieht der auch anders aus als unserer zunge
    exakt!

    habe es einfacher gelöst^^
    1
    [imgalt=Dein Alt text]Bildurl[/imgalt]

    auf die alte Art zunge
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten