ich eine Zeichenfolge, die BBcode enthält und ich es geschafft, alle Formatierungen mit diesem Code zu entfernen:Suchen und Ersetzen von Tags und seinen Inhalt in PHP
$plain_text = strip_tags(str_replace(array('[',']'), array('<','>'), $message));
Aber ich habe ein Stück Code, das ich zu entferne sein Inhalt. Dieser Code:
[ATTACH=full]4281[/ATTACH]
Die Zahl '4281' wird immer anders sein, so wie kann ich es entfernen?
Ich habe versucht:
preg_replace("/[ATTACH=full](.*)[\/ATTACH]/eis", '', $message);
aber das funktioniert nicht. Ich vermute, es hat etwas mit dem "attach = full" -Teil und dem Gleichheitszeichen zu tun.
Irgendwelche Ideen? Vielen Dank.
Sie sollten * nie * HTML mit Regex analysieren. Verwenden Sie stattdessen [einen PHP-DOM-Parser] (http://simplethmdom.sourceforge.net/). –
Das Gleichheitszeichen hat keine besondere Bedeutung; aber die eckigen Klammern tun (Zeichenklasse) - also musst du denen entkommen. Und entfernen Sie den 'e' Modifikator - abgesehen davon, dass er veraltet ist und daher eine Warnung generiert, hat er hier sowieso keinen nützlichen Zweck. – CBroe
@JayBlanchard, es kommt immer darauf an, was du erreichen willst. Für den Fall, dass niemand reguläre Ausdrücke schlagen kann – kirugan