BBcode aus Text zuverlässig entfernen

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
Benutzeravatar
Waagenbauer
Mitglied
Beiträge: 219
Registriert: 11.06.2001 02:00
Kontaktdaten:

BBcode aus Text zuverlässig entfernen

Beitrag von Waagenbauer »

Ich habe schon verschiedene Versionen mit preg_replace probiert und kombiniert:

Code: Alles auswählen

$posts[$i]['post_text'] = preg_replace('/\[img:[a-z0-9]{10,}\].*?\[\/img:[a-z0-9]{10,}\]/', ' ', $posts[$i]['post_text']); 
$posts[$i]['post_text'] = preg_replace('/\[\/?url(=.*?)?\]/', ' ', $posts[$i]['post_text']);
$posts[$i]['post_text'] = preg_replace("/\[\/?[a-z]=([a-z0-9\-\.,\?!%\*_\/:;~\\&$@\/=\+]+)\]/si", " ", $posts[$i]['post_text']);
$posts[$i]['post_text'] = preg_replace('/\[\/?[a-z\*=\+\-]+(\:?[a-z0-9]+)?:[a-z0-9]{10,}(\:[a-z0-9]+)?=?.*?\]/', ' ', $posts[$i]['post_text']);
Aber so ganz funzt das nicht. Z.B. Was ist mit bbcode in Großbuchstaben?
Und den URL-Tags ohne bbcode_uid?

Hat jemand ein Snippet welches alle BBcodes restlos aus dem Text löscht?
http://www.kaltmacher.de - Die Seite für PC-Freaks und Profis.
Benutzeravatar
Underhill
Mitglied
Beiträge: 1180
Registriert: 24.09.2003 11:40
Wohnort: 742 Evergreen Terrace

Beitrag von Underhill »

Hi,

warum so kompliziert?

Versuche mal

Code: Alles auswählen

$posts[$i]['post_text'] = preg_replace('/\[(.*)\]/is', '', $posts[$i]['post_text']);
(ungetestet)

Edit: Schau dir sonst mal die Funktion innerhalb der phpBB Fetch All 2.0.15 - MOD an - die hatten das auch recht elegant geloest...

Gruss
Underhill
Benutzeravatar
Waagenbauer
Mitglied
Beiträge: 219
Registriert: 11.06.2001 02:00
Kontaktdaten:

Beitrag von Waagenbauer »

Thx für die Antwort.

In fetch_all steht es so:

Code: Alles auswählen

$text = preg_replace('/\:[0-9a-z\:]+\]/si', ']', $text);
Ich werde beides mal probieren. Wobei das 2. wohl keinen großgeschriebenen BBcode berücksichtigt.
http://www.kaltmacher.de - Die Seite für PC-Freaks und Profis.
Benutzeravatar
Underhill
Mitglied
Beiträge: 1180
Registriert: 24.09.2003 11:40
Wohnort: 742 Evergreen Terrace

Beitrag von Underhill »

Hi,

das "/i" steht fuer GROSS/kleinschreibung ingnorieren..

http://de2.php.net/manual/de/reference. ... ifiers.php


Gruss
Underhill
Benutzeravatar
Waagenbauer
Mitglied
Beiträge: 219
Registriert: 11.06.2001 02:00
Kontaktdaten:

Beitrag von Waagenbauer »

Ah, sehr gut, vielen Dank :)
http://www.kaltmacher.de - Die Seite für PC-Freaks und Profis.
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“