Zitat von
Florian Bernd:
Code:
preg_match_all("#\[show=(.*?)\](.*?)\[/show\]#si", $text, $matches, PREG_PATTERN_ORDER);
.*? sollte man so wenig wie moeglich verwenden. Warum versuchst du auch, alles zu matchen?
Das:
Code:
preg_match_all("#\[show=([^\[\]]*?)\](.*?)\[/show\]#si", $text, $matches, PREG_PATTERN_ORDER);
ist ein Beispiel wie du es nachen koenntest. Du solltest eigentlich nur das matchen, was auch in den Benutzernamen vorkommen kann. Alles zu matchen ist vollkommen fehl am Platz, wird aber trotzdem oft verwendet.
Greetz
alcaeus