I actually do this within my theme now, which means it will survive upgrades. I'll post instructions here.
1. Create a custom theme if you don't already have one.
2. In qa-theme.php, add this function in the qa_html_theme class, replacing EXAMPLE.COM with your domain:
function _remove_nofollow( $str )
{
$search1 = '#<a rel="nofollow" href="http://EXAMPLE.COM("|/[^"]*")#i';
$search2 = '#<a href="http://EXAMPLE.COM("|/[^"]*") rel="nofollow"#i';
$replace = '<a href="http://EXAMPLE.COM\1';
$str = preg_replace( $search1, $replace, $str );
$str = preg_replace( $search2, $replace, $str );
return $str;
}
3. Override the q_view_content, a_item_content and c_item_content functions to call this function:
function q_view_content($q_view)
{
if ( !empty($q_view['content']) )
$q_view['content'] = $this->_remove_nofollow( $q_view['content'] );
parent::q_view_content($q_view);
}
function a_item_content($a_item)
{
if ( !empty($a_item['content']) )
$a_item['content'] = $this->_remove_nofollow( $a_item['content'] );
parent::a_item_content($a_item);
}
function c_item_content($c_item)
{
if ( !empty($c_item['content']) )
$c_item['content'] = $this->_remove_nofollow( $c_item['content'] );
parent::c_item_content($c_item);
}
Hope this helps!
UPDATED: fixes for comments where nofollow gets added at the end for some reason, and slightly cleaner code.