Seite 1 von 1
Alle Beiträge verschicken
Verfasst: 10.12.2003 15:23
von Uwe Wagner
Auf Wunsch der Benutzer meiner Foren, baue ich einen php Sricpt der (als Cronjob) alle neuen Beiträge an alle Teilnehmer einer Gruppe als Mail verschickt.
Das funktioniert auch. Allerdings strören die BBCode Elemente. Gibt es einen einfachen Weg, diese zu entfernen.
Gruß aus Mainz
Verfasst: 10.12.2003 15:45
von Schumi
Geht z.B. so:
Code: Alles auswählen
$remove_tags = array(
'[b]',
'[/b]',
'[url]',
'[/url]'
//usw...
);
$text = str_replace($remove_tags, '', $text);
Verfasst: 10.12.2003 16:04
von Gast
Schumi hat geschrieben:Geht z.B. so:
Code: Alles auswählen
$remove_tags = array(
'[b]',
'[/b]',
'[url]',
'[/url]'
//usw...
);
$text = str_replace($remove_tags, '', $text);
Ja, leider sehen die Codes so aus '[/b:0977e68560] ' .
Verfasst: 12.12.2003 13:28
von Acid
$remove_tags = array('[b:'.$bbcode_uid.']','[/b:'.$bbcode_uid.']');
$text = str_replace($remove_tags, '', $text);
..so müsste es funktionieren. Natürlich müsste
$bbcode_uid ein gültiger Wert sein (d.h. du müsstest vorher die bbcode_uid mit einer sql-Anweisung auslesen).
Sinn dieser bbcode_uid
Verfasst: 12.12.2003 13:37
von Uwe Wagner
Ja. danke, das werde ich probieren.
Was für einen Sinn soll diese bbcode_uid (Tabelle: phpbb_posts_text) eigentlich haben ?
So einfach geht es leider nicht
Verfasst: 12.12.2003 14:23
von Uwe Wagner
Acid hat geschrieben:$remove_tags = array('[b:'.$bbcode_uid.']','[/b:'.$bbcode_uid.']');
$text = str_replace($remove_tags, '', $text);
Für die einfachen BBcodes funktioniert dein Vorschlag. Aber es sind teilweise Zusatzinfos enthalten, wie bspw.
[quote:b5e9c08e08="Schmidt, Heinz"]
oder
[code:1:b5e9c08e08]
Vermutlich geht es nur über reguläre Ausdrücke, aber da muß ich passen.
Verfasst: 12.12.2003 15:19
von Acid
hmm.. bei code könntest du im array() folgendes probieren..
'[code:1:'.$bbcode_uid.']','[/code:1:'.bbcode_uid.']'
..und bei quote mit Usernamen zusätzlich noch folgendes..
'[quote:'.$bbcode_uid.'="'. $poster .'"]', '[quote:'.$bbcode_uid.']'
..
$poster müsste dann auch wieder ausgelesen werden.