preg_replace_callback

  • tach, ich suche einen regulären ausdruck, der mir von einem muster (z.b. [beispiel]) bis zum nächsten "normalen zeichen" also(a-z A-z oder 0-9) alles ausgibt. das normale zeichen braucht er aber nicht mehr mit ausgeben also das ganze müsste doch in etwas so aussehen:

    [php:1:8a2a913bb5]
    $text = "Hallo[-][ueberschrift]";
    preg_replace_callback("![a-zA-Z0-9](.*)\[beispiel\]!isU", ueberschrift, $text);[/php:1:8a2a913bb5]

    aber das funzt nicht! die ausgabe von $1 (oder auch //1) wäre:

    Code
    allo[-]

    und nicht wie gehofft

    Code
    [-]

    hat jemand eine idee, wie ich das hin bekomme? bitte! wo liegt mein fehler?