gudn tach!
function parseTagsRecursive($eingabe){
$regex = '#[quote]((?:[[1]|[(?!/?quote])|(?R))+)[/quote]#';
//$regex = '#[quote=([a-z]+)]((?:[[2]|[(?!/?quote])|(?R))+)[/quote]#';
[a-z]+ matcht nicht auf 'user1'.
if(is_array($eingabe){
da fehlt ne schliessende klammer
was du genau willst, konnte ich nicht ersehen aus deiner beschreibung. aber vielleicht hilft das:
$regex = '#\[quote=(?:[a-z0-9]+)]((?:[^[]|\[(?!/?quote(?:=[a-z0-9]+)?])|(?R))+)\[/quote]#';
und dann
if(is_array($eingabe))
$eingabe = '<div>'.$eingabe[1].'</div>';
prost
seth