From your question you have already registered the sidebar.
To get the content of the sidebar into a variable, i think you can use php buffering :
// ob_start - Turn on output buffering
// ob_get_contents - Return the contents of the output buffer
// ob_end_clean - Clean (erase) the output buffer and turn off output buffering
Such as this :
// Turn on output buffering
ob_start();
// Specify the sidebar using its [id]
dynamic_sidebar('sidebar-widget-1');
// Store the return contents of the output buffer in a variable
// in this case $sidebar_content
$sidebar_content = ob_get_contents();
// Clean (erase) the output buffer and turn off output buffering
ob_end_clean();
if you need to get more than one sidebar content, like you need the get the content of several sidebars at once then you can:
// Get the list of all registered sidebars using wp_registered_sidebars
foreach ( $GLOBALS['wp_registered_sidebars'] as $sidebar ) :
// Turn on output buffering
ob_start();
// This will get all the sidebars
dynamic_sidebar($sidebar['id']);
// Store the return contents of the output buffer in a variable
// in this case $sidebars_content
$sidebars_content = ob_get_contents();
// Clean (erase) the output buffer and turn off output buffering
ob_end_clean();
endif;
OR
// Get the global registered sidebars
global $wp_registered_sidebars;
// Loop through each content in $wp_registered_sidebars array
foreach($wp_registered_sidebars as $sidebar_id => $sidebar) :
ob_start();
// This will get all the sidebars
dynamic_sidebar($sidebar['id']);
// Store the return contents of the output buffer in a variable
// in this case $sidebars_content
$sidebars_content = ob_get_contents();
// Clean (erase) the output buffer and turn off output buffering
ob_end_clean();
endforeach;
Hope one on this helps you.