Ich habe den folgenden Code für die Ausgabe von Text aus meiner Datenbank:
%Vor%Was ich tun möchte, ist eine "Vorschau" hinzuzufügen, wo nur die ersten 250 Zeichen angezeigt werden, und dann kann der Benutzer auf einen Link klicken, um die ganze Sache zu lesen. Etwas wie das:
%Vor%Es gibt offensichtlich einige Probleme hier.
[url=http://www..example.com]link[/url]
als 39 Zeichen interpretiert, wenn sie als 4 interpretiert werden soll. Wie kann ich das erreichen?
Beim Testen mit bbCode Playground habe ich festgestellt, dass bbCode keine Escapes zulässt und eckigen Text als zurückgibt solange es nicht speziell mit den Codes und Formaten übereinstimmte. Sie laufen Gefahr, Text in Klammern fälschlicherweise durch einen generischen Ansatz zu ersetzen.
Der folgende Code ersetzt den bbCode und sucht nach bestimmten Tags. Es prüft nicht auf Attribute, nur wenn ein Tag Attribute erlaubt oder nicht. Auch wird es immer noch fälschlicherweise Dinge zuordnen, die bbCode nicht liefert, wie [b]asdasd[b]asdsda[/b]dasd[/b]
in bbCode würde asdasd[b]asdsdadasd[/b]
zurückgeben, und dies wird asdasdasdsdadasd
zurückgeben. Wenn Sie etwas genaueres brauchen, brauchen Sie einen Parser.
Ich bemerkte in der anderen Antwort, dass sie Ausrufezeichen suchen. Ich weiß nicht die Bedeutung von denen in bbCode. Sie können es am Anfang '/\[[\/!]?...
hinzufügen, wenn es signfikant ist.
Die folgende Geige zeigt, wie es mit einem Beispieltext funktioniert.
Ich würde den BB-Code strippen, da es sich um eine Vorschau handelt.
%Vor%