ilch Forum » Allgemein » HTML, PHP, SQL,... » BBCode-Klasse

Geschlossen
  1. #1
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beitrge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Hallo zusammen,
    ich bräuchte bitte mal Eure Hilfe.
    Und zwar hatten wir unter php5.x beim Zitieren eine Funktion drin, wo oben im Kopf der Link zum Ausgangs-Post enthalten war...

    Die function dazu sah so aus:
    function _quote($string) {
            //> berprfen ob Bod gesetzt ist.
            if(strtolower($this->info['QuoteSchriftformatIT']) == "bold") {
                $Schriftformat = "font-weight:bold;";
            } else {
                $Schriftformat = "font-style:".$this->info['QuoteSchriftformatIT'].";";
            }
    
            //> Html- Muster fr geffnete Quote- Tags.
            $Header = "<div class=\"bbcode_container\"><div class=\"bbcode_quote\" style=\"BORDER: 1px SOLID ".$this->info['QuoteRandFarbe'].";\"><div class=\"quote_container\" style=\"font-family:Arial, Helvetica, sans-serif;FONT-SIZE:13px;FONT-WEIGHT:BOLD;COLOR:".$this->info['QuoteSchriftfarbe'].";BACKGROUND-COLOR:".$this->info['QuoteHintergrundfarbe'].";\"><div class=\"bbcode_quote_container\"></div>"
                     ."<div class=\"bbcode_postedby\" style=\"font-family:Arial, Helvetica, sans-serif;FONT-SIZE:12px;FONT-WEIGHT:BOLD;COLOR:".$this->info['QuoteSchriftfarbe'].";BACKGROUND-COLOR:".$this->info['QuoteHintergrundfarbe'].";\"><img alt=\"Zitat\" src=\"include/images/icons/bbcode/quote_icon.png\" title=\"Zitat\" />&nbsp;Zitat</div>"
                     ."<div class=\"bbcode_message\" style=\"".$Schriftformat."FONT-SIZE:11px;COLOR:".$this->info['QuoteSchriftfarbeIT'].";\">";
            
            //> Html- Muster fr geffnete Quote- Tags mit User.
            $HeaderUser = "<div class=\"bbcode_container\"><div class=\"bbcode_quote\" style=\"BORDER: 1px SOLID ".$this->info['QuoteRandFarbe'].";\"><div class=\"quote_container\" style=\"font-family:Arial, Helvetica, sans-serif;FONT-SIZE:13px;FONT-WEIGHT:BOLD;COLOR:".$this->info['QuoteSchriftfarbe'].";BACKGROUND-COLOR:".$this->info['QuoteHintergrundfarbe'].";\"><div class=\"bbcode_quote_container\"></div>"
                     ."<div class=\"bbcode_postedby\" style=\"font-family:Arial, Helvetica, sans-serif;FONT-SIZE:12px;FONT-WEIGHT:BOLD;COLOR:".$this->info['QuoteSchriftfarbe'].";BACKGROUND-COLOR:".$this->info['QuoteHintergrundfarbe'].";\"><img alt=\"Zitat\" src=\"include/images/icons/bbcode/quote_icon.png\" title=\"Zitat\" />&nbsp;";
            
            $FooterUser = "</div><div class=\"bbcode_message\" style=\"".$Schriftformat."FONT-SIZE:11px;COLOR:".$this->info['QuoteSchriftfarbeIT'].";\">";
            
            //> Html- Muster fr geschlossene Quote- Tags.
            $QuoteClose = "</div></div></div></div>";
    
            //> Geffnete Tags umwandeln.
            for($c=1;$c <= count($this->ayCacheQuoteOpen);$c++) {
                if(count($this->ayCacheQuoteClose) == count($this->ayCacheQuoteOpen)) {
                    //> Format: [quote=xxx post='x#x']
                    $this->quote_pattern[] = "%\[quote:" . $c . "=([^[/]*) post='([^[/]*)'\]%siU";
                    $this->quote_replace[] = $HeaderUser . "<a class=\"bbcode_quoted_post_link top-tip\" data-tips=\"zum Original-Post\" href=\"?forum-showposts-\$2\">Zitat von <b>\$1</b></a>" . $FooterUser;
                    
                    //> Format: [quote=xxx]
                    $this->quote_pattern[] = "%\[quote:".$c."=([^[/]*)\]%siU";
                    $this->quote_replace[] = $HeaderUser."Zitat von <b>\$1</b>".$FooterUser;
    
                    //> Format: [quote]
                    $this->quote_pattern[] = "%\[quote:".$c."\]%siU";
                    $this->quote_replace[] = $Header;
    
                    //> Format: [/quote]
                    $this->quote_pattern[] = "%\[/quote:".$c."\]%siU";
                    $this->quote_replace[] = $QuoteClose;
                } else {
                    //> Format: [quote=xxx]xxx[/quote]
                    $this->quote_pattern[] = "%\[quote:([0-9]*)=([^[/]*)\[/quote:([0-9]*)\]%siU";
                    $this->quote_replace[] = $HeaderUser."\$2".$FooterUser."\$3".$QuoteClose;
    
                    //> Format: [quote]xxx[/quote]
                    $this->quote_pattern[] = "%\[quote:([0-9]*)\](.*)\[/quote:\\1\]%siU";
                    $this->quote_replace[] = $Header."\$2".$QuoteClose;
                }
            }
    
            //> Nicht gefundene Paare wieder darstellen.
            //> Format: [quote=xxx]
            $this->quote_pattern[] = "%\[quote:([0-9]*)=([^[/]*)\]%siU";
            $this->quote_replace[] = "[quote=\$2]";
    
            //> Format: [quote]
            $this->quote_pattern[] = "%\[quote:([0-9])\]%siU";
            $this->quote_replace[] = "[quote]";
    
            //> Format: [/quote]
            $this->quote_pattern[] = "%\[/quote:([0-9])\]%siU";
            $this->quote_replace[] = "[/quote]";
    
            //> String parsen
            $string = preg_replace($this->quote_pattern,$this->quote_replace,$string);
    
    
            return $string;
        }

    Ich bräuchte bitte Hilfe beim Anpassen der aktuellen BBCode-Klasse, damit die Funktion wieder (fehlerfrei) läuft:
    private function formatQuotes($string) {
            //> berprfen ob Bod gesetzt ist.
            if(strtolower($this->info['QuoteSchriftformatIT']) == "bold") {
                $Schriftformat = "font-weight:bold;";
            } else {
                $Schriftformat = "font-style:".$this->info['QuoteSchriftformatIT'].";";
            }
    
            //> Html- Muster fr geffnete Quote- Tags.
            $Header = "<div class=\"bbcode_container\"><div class=\"bbcode_quote\" style=\"BORDER: 1px SOLID ".$this->info['QuoteRandFarbe'].";\"><div class=\"quote_container\" style=\"font-family:Arial, Helvetica, sans-serif;FONT-SIZE:13px;FONT-WEIGHT:BOLD;COLOR:".$this->info['QuoteSchriftfarbe'].";BACKGROUND-COLOR:".$this->info['QuoteHintergrundfarbe'].";\"><div class=\"bbcode_quote_container\"></div>"
                     ."<div class=\"bbcode_postedby\" style=\"font-family:Arial, Helvetica, sans-serif;FONT-SIZE:12px;FONT-WEIGHT:BOLD;COLOR:".$this->info['QuoteSchriftfarbe'].";BACKGROUND-COLOR:".$this->info['QuoteHintergrundfarbe'].";\"><img alt=\"Zitat\" src=\"include/images/icons/bbcode/quote_icon.png\" title=\"Zitat\" />&nbsp;Zitat</div>"
                     ."<div class=\"bbcode_message\" style=\"".$Schriftformat."FONT-SIZE:11px;COLOR:".$this->info['QuoteSchriftfarbeIT'].";\">";
            
            //> Html- Muster fr geffnete Quote- Tags mit User.
            $HeaderUser = "<div class=\"bbcode_container\"><div class=\"bbcode_quote\" style=\"BORDER: 1px SOLID ".$this->info['QuoteRandFarbe'].";\"><div class=\"quote_container\" style=\"font-family:Arial, Helvetica, sans-serif;FONT-SIZE:13px;FONT-WEIGHT:BOLD;COLOR:".$this->info['QuoteSchriftfarbe'].";BACKGROUND-COLOR:".$this->info['QuoteHintergrundfarbe'].";\"><div class=\"bbcode_quote_container\"></div>"
                     ."<div class=\"bbcode_postedby\" style=\"font-family:Arial, Helvetica, sans-serif;FONT-SIZE:12px;FONT-WEIGHT:BOLD;COLOR:".$this->info['QuoteSchriftfarbe'].";BACKGROUND-COLOR:".$this->info['QuoteHintergrundfarbe'].";\"><img alt=\"Zitat\" src=\"include/images/icons/bbcode/quote_icon.png\" title=\"Zitat\" />&nbsp;";
            
            $FooterUser = "</div><div class=\"bbcode_message\" style=\"".$Schriftformat."FONT-SIZE:11px;COLOR:".$this->info['QuoteSchriftfarbeIT'].";\">";
            
            //> Html- Muster fr geschlossene Quote- Tags.
            $QuoteClose = "</div></div></div></div>";
    
            $completeQuotes = max($this->textBlockCache['quote']['open'], $this->textBlockCache['quote']['close']);
            $replaced = 0;
            do {
                $string = preg_replace_callback(
                    "%\[quote:([0-9]*)(?:=(?P<name>[^[/]*))?](?P<content>.*)\[/quote:\\1]%siU",
                    function (array $matches) use ($Header, $HeaderUser, $FooterUser, $QuoteClose) {
                        if (empty($matches['name'])) {
                            return $Header . $matches['content'] . $QuoteClose;
                        }
                        return $HeaderUser . $matches['name'] . $FooterUser . $matches['content'] . $QuoteClose;
                    },
                    $string,
                    -1,
                    $replacedInRun
                );
                $replaced += $replacedInRun;
            } while ($replacedInRun && $replaced < $completeQuotes);
            return $string;
        }

    Vielen Dank schonmal und Grüße
    Outi Victory

    Nachtrag: der Kopf vor dem Umwandeln:
    [quote=Outi77 post='getpost-230']
    ...
    [/quote]




    verwendete ilch Version: 1.1 P


    Zuletzt modifiziert von Outi77 am 02.04.2021 - 13:39:12
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    RTX2070 Moderator
    Registriert seit
    14.06.2019
    Beitrge
    143
    Beitragswertungen
    19 Beitragspunkte
    Hierbei kann ich leider nicht helfen, sorry &#128542;
    Modul Tutorial auf www.youtube.com
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beitrge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    @RTX2070
    Kein Problem zwinker
    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
    corian Entwickler
    Registriert seit
    16.06.2011
    Beitrge
    1.068
    Beitragswertungen
    117 Beitragspunkte
    Hey Outi77, welche Fehler bekommst du? Ich habe da Version leider nicht installiert.
    1 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Nex4T Moderator
    Registriert seit
    28.02.2007
    Beitrge
    3.363
    Beitragswertungen
    202 Beitragspunkte
    Das ist Ilch 1.1, die version wird nicht mehr weiter entwickelt.
    while(!asleep()) sheep++;
    www.movely.biz
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beitrge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    @corian
    Also es kommt keine Fehlermeldung direkt, aber es wird auch nix umgewandelt.
    [quote=Outi77 post='getpost-235']
    Das ist echt toll!
    [/quote]
    Sag ich doch.

    Das ist das Ergebnis, wenn ich die function so benutze wie unter php5.x

    @Nex4T
    Sorry, ich möchte ja auch nix weiterentwickelt haben, sondern von netten Menschen mit mehr Erfahrung im Umgang mit php eine Hilfe, wie ich eine bestehende Funktion an den aktuellen Stand anpassen kann.
    Bist Du so ein netter Mensch oder nicht? zwinker

    Grüße und frohe Ostern!

    Nachtrag: muss später nochmal was testen, melde mich nochmal...
    Nee ok bleibt dabei, die function komplett so eingebaut wie unter php5.x erzeugt keine gewandelte Ausgabe.


    Zuletzt modifiziert von Outi77 am 04.04.2021 - 18:21:34
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    corian Entwickler
    Registriert seit
    16.06.2011
    Beitrge
    1.068
    Beitragswertungen
    117 Beitragspunkte
    Hmmm wenn kein Fehler kommt, kann es an einer Funktion liegen... wenn du mir per PN Zugangsdaten zum Testen zukommen lassen kannst, schau ich mal drüber.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beitrge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Hast ne PN...
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beitrge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    So, inzwischen konnte ich durch Eigeninitiative und ein Wenig Bastelei das Problem selber beheben.
    Danke an alle hier, die tatkräftige Untertstützung angeboten hatten Victory

    Grüße
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    1 Mitglieder finden den Beitrag gut.
Geschlossen

Zurck zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten