ok here is the answer.. pheww
function oswc_formatter($content) {
if( is_page_template( 'template-flat.php' ) ) {
return $content;
}else{
$new_content="";
/* Matches the contents and the open and closing tags */
$pattern_full="{(\[raw\].*?\[/raw\])}is";
/* Matches just the contents */
$pattern_contents="{\[raw\](.*?)\[/raw\]}is";
/* Divide content into pieces */
$pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
/* Loop over pieces */
foreach ($pieces as $piece) {
/* Look for presence of the shortcode */
if (preg_match($pattern_contents, $piece, $matches)) {
/* Append to content (no formatting) */
$new_content .= $matches[1];
} else {
/* Format and append to content */
$new_content .= wptexturize(wpautop($piece));
}
}
return $new_content;
}
}