Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] &a mp;a mp;a mp;a mp;q uot; B B

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast-Avatar
    Ein Gast antwortete
    Meiner ist jetzt auch wieder on!!!

    Ich wollte noch zu dem Tutorial sagen das ich es ehrlich gesagt nicht ganz versteanden habe... du machst das zu ungenau.... Erkläre diese Befehle noch etwas besser... was soll diese variable $1 darstellen?

    Einen Kommentar schreiben:


  • Guradia
    antwortet
    http://pear.php.net/package/HTML_BBCodeParser
    http://software.unclassified.de/cont...=code.php.abbc

    Diese beiden sind sogar erreichbar ...

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Kennt ihr das???
    Da hat jemand mal eine Parserklasse für BBCode geschrieben:
    http://www.christian-seiler.de/projekte/php/bbcode/

    Einen Kommentar schreiben:


  • Guradia
    antwortet
    *deng* .. 1. Klammer übersehen ^^

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    hi,

    Hab mir schon fast gedacht, dass ich die Modifiers falsch hab
    werd das mal anpassen..

    Und ich bin mir jetzt mal nicht so ganz sicher, ob $matches[2] der richtige Index ist ... 1 wäre mein Kandidat ...
    [2] ist richtig,
    ich benutze das Script in ähnlicher Form u.a. bei Phoogle und es funktioniert:
    [0] ist der gesamte String, der zurückgegeben wird beim callback,
    und danach werden ja einfach die klammern einzeln hinzugefügt,
    und somit ist [1]= http:// ; [2]=.*

    Einen Kommentar schreiben:


  • Guradia
    antwortet
    Re: "BB-Code" realisieren

    Zitat von Tobias
    Wenn der String weniger als 30 Zeichen enthält wird die URL ungekürzt zurückgegeben, gesamter Code:

    Code:
    $text = ("Die phpfriend.de-Tutorials: http://phpfriend.de/forum/viewforum....r30zeichensind");
    
    $text = preg_replace_callback("|\[url\](http://)(.*)\[/url\]|Uism",create_function('$matches','if (strlen($matches[2]) > 30) return "<a href=\"http://".$matches[2]."\" target=_blank>http://".substr($matches[2],0,17)."[...]".substr($matches[2],-5)."</a>";
    else return "<a href=\"http://".$matches[2]."\" target=_blank>http://".$matches[2]."</a>";'),$text);

    Callbacks sind eine feine Sache.
    create_function() ist auch ganz niedlich.
    Wenn man das ganze aber nicht mehr lesen kann, war es ein Griff ins Klo ^^

    Erst nach dem Auseinanderpflücken, konnte ich sehen, was du da eigentlich treibst.
    Und ich bin mir jetzt mal nicht so ganz sicher, ob $matches[2] der richtige Index ist ... 1 wäre mein Kandidat ...

    Code:
    <?php
    
    $text = preg_replace_callback('|\[url\](http://)(.*)\[/url\]|Uism', 'callBack_bbUrl', $text);
    
    function callBack_bbUrl($matches) {
        if (strlen($matches[2]) > 30) {
            return 'http://'.substr($matches[2],0,17).'[...]'.substr($matches[2],-5).''; 
        } else {
            return 'http://'.$matches[2].'';
        }
    }
    
    ?>

    Einen Kommentar schreiben:


  • Guradia
    antwortet
    Re: &quot;BB-Code&quot; realisieren

    Zitat von Tobias
    U: Dadurch wird verhindert, dass vom ersten [b] bis zum letzten [/b] ersetzt wird
    Ungreedy, heisst das Ding.
    Greedy = gierig
    Ohne U-Modifier wird PHP versuchen soviele Chars einzufangen wie nur möglich, bis es kein mögliches Ende des Patterns mehr findet.

    Zitat von Tobias
    s: Dadurch kann man auch mit \r\n usw. arbeiten
    Was sich aber ausschliesslich auf . auswirkt.
    Dieser Meta-Char ist eine Wildcard und passt auf alles. Ausser eben NewLines ... der s-Modifier ändert dies.

    Zitat von Tobias
    m: Durch diesen Modifier werden die Replacements auch auf mehrere Zeilen angewandt.
    Das ist nun aber mal völlig falsch! (bzw. falsch gesagt ^^)

    Es bezieht sich auf PHPs erkennung von Zeilen-Ende und -Anfang.
    Ohne m-Modifier gibt es nur String-Ende und -Anfang. Diese werden über ^ bzw. $ angesprochen.
    Im MultiLine-Mode erkennt PHP NewLines und erweitert damt die Wirkung von ^ und $ ..

    Einen Kommentar schreiben:

Lädt...
X